控制线程执行的变量 是volatile
必需的吗?kill
public class MyThread extends Thread{
private boolean kill = false;
public void killThread(){
kill = true;
}
@Override
public void run(){
while(!kill){
//do stuff
}
}
}
例如,如果在代码的其他部分(另一个线程)中,我theThreadRef.killThread();
应该期望线程停止还是由于没有声明为而导致结果不可预测?我不确定这一点,因为我通过该方法更新了。
谢谢 kill
volatile
kill
killThread