我正在尝试实现一个示例应用程序来测试Callable
和ExecutorService
接口。
在我的应用程序中,我已经声明:
ExecutorService exSvc = Executors.newSingleThreadExecutor();
然后:
Future<Integer> test = exSvc.submit(
new Callable<Integer>() {
public Integer call() {
for(int i = 0; i < 1000; i++){
System.out.println(i);
}
return 1;
}
});
现在我试图在它终止之前停止该过程,我正在使用exSvc.shutdownNow()
但它不起作用。
为了优雅地停止经典Thread
,我通常使用某种条件变量。遵循哪种常见方法ExecutorService
?