比如我两个线程a,b
他们有1个共享的变量buffer
然后buffer 类中有1个同步的方法
Public synchronized void method(int a){//注意这里有参数
...
}
然后首先执行a.buffer.method(8);由于某种条件wait了
这是执行b.buffer.method(9);顺利执行了,并且notify a了,a继续执行,然而请问就在a继续执行的时候 在a.buffer.method的方法里,那个参数,是不是变为9了????还是还是8????????
初学,求具体原理
他们有1个共享的变量buffer
然后buffer 类中有1个同步的方法
Public synchronized void method(int a){//注意这里有参数
...
}
然后首先执行a.buffer.method(8);由于某种条件wait了
这是执行b.buffer.method(9);顺利执行了,并且notify a了,a继续执行,然而请问就在a继续执行的时候 在a.buffer.method的方法里,那个参数,是不是变为9了????还是还是8????????
初学,求具体原理
那a.buffer调用method.并且wait了,那么b.buffer调用method(b)后,对这个buffer是不是有影响啊?
两个线程A,B
他们有1个共享的变量buffer
然后buffer 类中有1个同步的方法
Public synchronized void method(int num){
if(thread.currentthread.getname == A)
wait();
else if(thread.currentthread.getname == B)
notifyall();System.out.println(num);...
}
然后首先执行a.buffer.method(8),wait了
这时执行b.buffer.method(9);顺利执行了,并且notify a了,换a继续执行,然而请问就在a的继续输出 是 8还是9???????