黑马程序员技术交流社区
标题:
Thread 1调用setI(),Thread 2调用getI(),会不会相互block?
[打印本页]
作者:
黑马伍仪华
时间:
2012-3-5 08:58
标题:
Thread 1调用setI(),Thread 2调用getI(),会不会相互block?
public class testSync {
private int i;
public synchronized void setI(int i) {
this.i = i;
}
public int getI() {
return i;
}
}
若getI的实现改为如下,会不会相互block?
private static final Object o = new Object();
public int getI() {
synchronized(o) {
return i;
}
}
作者:
dangfei
时间:
2012-3-5 09:16
lz所说的相互block是指谁跟谁相互,setI(int i)跟getI() 吗,这两个方法都有自己的锁,各自实现自己的线程同步。不明白相互block是指什么啊,lz再说清楚些。
作者:
刘泰
时间:
2012-3-5 12:34
加锁以后就不会出现了,如果不加锁,在一个等待释放资源,一个请求资源,并且相互制约的情况下,就会出现死锁现象,不加锁的话就要多注意一下,加锁的话,当执行完这个线程之后才会执行下一个,即每次只能有一个线程调用,就不会出现死锁的现象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2