在我的应用中,我正在使用ThreadPoolTaskExecutor
。此执行程序包含返回activeThread getActiveCount
的方法。有没有选项如何停止这个活动线程?我不想关闭这个执行器我只想停止一些无限过程,如
while(true){
}
PS:我只能访问此执行程序,因为我想通过jmx
停止此线程在我的应用程序中,我添加了这样的新主题:
taskExecutor.execute(new Runnable() {
@Override
public void run() {
doSomething()
}
});
答案 0 :(得分:0)
您需要快速检查一下如何添加任务。
只要您使用submit来添加任务,就可以使用返回的Future任务(从此调用中)取消特定任务。但是,如果使用执行,则表示您正在重新控制任务。
答案 1 :(得分:0)
试试这个:
public void run() {
while (true) {
doSomething();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
//Very important.
Thread.currentThread().interrupt();
break;
}
}
System.out.println("Shutting down thread");
}