<分区>
假设我有一个包含 while 循环的线程,我想“从外部”停止它。
public class MyThread extends Thread {
private boolean running = true;
@Override
public void run() {
while (running) {
// do something
}
}
public void setRunning(boolean running) {
this.running = running;
}
}
这是主类:
public class Main {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.start();
// do something
mt.setRunning(false);
}
}
它似乎停止正常,但我读到 boolean 值也应该是易变的。为什么?它会加速停止吗?