我知道thread的stop方法已经不建议用了,一般都推荐用interrupt,但是这样写不起来不是很麻烦吗? 比如我的线程里包括有N个步骤,类似:
public void run() {
step1();
step2();
step3();
......
stepN();
}
为了能够及时的响应终止,难道要到处加上isInterrupted的判断?
public void run() {
step1();
if (isInterrupted()) return;
step2();
if (isInterrupted()) return;
step3();
if (isInterrupted()) return;
......
stepN();
}
这种判断加的到处都是,感觉很不优雅,没有更好的做法吗?
只能这样,java thread的interrupt是交互式的,不存在硬性关闭的机制