我有一个长时间运行的任务,类似于:
public void myCancellableTask() {
while ( someCondition ) {
checkIfCancelRequested();
doSomeWork();
}
}
任务可以被取消(即请求取消并检查checkIfCancelRequested()的取消标志)。通常,当我编写类似的可取消循环时,我使用一个标志来指示已经请求了取消。但是,我知道我也可以使用Thread.interrupt并检查线程是否已被中断。我不确定哪种方法更好,以及原因是什么,有什么想法吗?
谢谢,
Jeff