我有一个长期运行的任务,是这样的:Java的长时间运行的任务线程中断VS取消标志
public void myCancellableTask() {
while (someCondition) {
checkIfCancelRequested();
doSomeWork();
}
}
任务可以取消(取消请求和checkIfCancelRequested()检查取消标志)。通常当我写这样的可取消循环时,我使用一个标志来指示已经请求了取消。但是,我知道我也可以使用Thread.interrupt并检查线程是否被中断。我不确定哪个是首选的方法,为什么,想法?
感谢,
杰夫
好东西在这里。看到吞咽中断或者只是记录并继续而不重置中断标志是很常见的。我认为人们会感到沮丧,因为这是一个经过检查的异常,他们不知道该怎么处理,所以他们根本没有做任何事情。 – 2009-12-16 21:37:02