我经常使用以下模式来创建一个可取消的线程:
public class CounterLoop implements Runnable {
private volatile AtomicBoolean cancelPending = new AtomicBoolean(false);
@Override
public void run() {
while (!cancelPending.get()) {
//count
}
}
public void cancel() {
cancelPending.set(true);
}
}
但我不确定 cancelPending 必须是 AtomicBoolean。在这种情况下我们可以只使用普通的布尔值吗?