创造斐波那契系列
public void run(){
int a=0,b=1,c;
while(a<=10000){
prim chk= new prim(a);
chk.start();
synchronized (chk) {
try {
sleep(200);
chk.wait();
} catch (InterruptedException e) {
return;
}
}
c=a+b;
a=b;
b=c;
}
}
为了检查质数,我创建了另一个线程(只是为了练习)
public void run(){
synchronized (this) {
int fl=1;
if(a==1||a==2)
fl=0;
else
for(int i=2;i<=Math.sqrt(a);i++)
if(a%i==0)
fl=0;
if(fl==0)
System.out.println(a);
}
notifyAll();
}
输出中有许多IllegalMonorState
异常。
对象#等待
,对象#通知所有
应该从同步
块调用。