假设我有两个线程A,并且B都在运行。突然B决定终止A,因此A应该尽快终止。我不想A立即终止,但是当它达到稳定状态时。
一个天真的解决方案是使用一个共享变量terminatePlease,它A会在每次达到稳定状态时进行检查。
代码的原型如下所示:
class A extends Thread {
boolean terminatePlease;
public void run() {
while (true) {
if (terminatePlease)
return;
doUninterruptableTasks();
}
}
}
有没有其他并发模式来处理这种情况?