黑马程序员技术交流社区
标题:
为什么synchronized有时放在while外面可以,有时就不可以?
[打印本页]
作者:
繁复
时间:
2015-5-25 21:19
标题:
为什么synchronized有时放在while外面可以,有时就不可以?
public void run() {
synchronized (obj) {
while (true) {
if (min > 0) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + ":"
+ min--);
} else {
break;
}
}
}
}
复制代码
作者:
繁复
时间:
2015-5-25 21:21
就是这段代码,前两天试就不行,必须放在while里面才行,今天偶然一试,这样竟然也好用了,不是一次两次,是一直试都一样,瞬间就蒙了 求大神告诉这是什么情况?什么原理?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2