我见过的最常见的并发问题是没有意识到 不能保证 一个线程写的字段可以被另一个线程看到。常见的用法是:
class MyThread extends Thread { private boolean stop = false; public void run() { while(!stop) { doSomeWork(); } } public void setStop() { this.stop = true; }}只要停止不 挥发 或
setStop和
run不 同步的
,这是不能保证的工作。这个错误特别令人讨厌,因为在99.999%的实践中这并不重要,因为读者线程最终将看到更改-但我们不知道他多久看到了更改。


![您在Java中遇到的最常见的并发问题是什么?[关闭] 您在Java中遇到的最常见的并发问题是什么?[关闭]](http://www.mshxw.com/aiimages/31/427948.png)
