【发布时间】:2013-04-27 02:17:13
【问题描述】:
在查看this question 时,我注意到了这段代码:
class MyThread extends Thread {
private boolean stop = false;
public void run() {
while(!stop) {
doSomeWork();
}
}
public void setStop() {
this.stop = true;
}
}
但是我不明白为什么会失败。其他线程是否无法访问“实际”停止变量?
【问题讨论】:
-
你怎么称呼
setStop()?来自同一 MyThread 实例还是不同? -
我不知道,不幸的是,这是我链接到的问题中的一个抽象示例
-
setStop 将从不同的线程中被调用。停止的所有 run 方法只需返回,它不需要标志。
标签: java multithreading java-threads