测试认为,只有必须catch (InterruptedException e) {的操作执行时候,才会受到此方法的干扰,
否则不受干扰。
public void doTask() {
Log.i("main","我开车");
Log.i("main","路途中20秒");
int i = 0;
while (i<20000){
Log.i("main","执行中"+i++);
}
Log.i("main","我停车");
}
如果子线这个方法执行过程中,我在主线interrup,但是doTask并不会受此此方法的干扰的
这样是可以的,但是测试发现在interrupt()方法执行后,可能还会正常执行几次take,有一定的延迟性
try {
task = mQueue.take();
} catch (InterruptedException e) {
if (mQuit) {
Log.i("main","线程被终止");
return;
}
continue;
}