我的问题是关于ExecutorService类的shutdown()
方法。如果我在无限循环中调用submit()
方法......我是否需要拨打shutdown()
?基本上我有这样的事情(在此伪代码):在无限循环内调用ExecutorService submit()
for(;;){
for(some event){
if(some event does something i want to capture){
threadPool.submit()
}
}
}
所以与建立像上面的时候适合调用shutdown()
?在我的实际代码中,当我尝试在无限循环外调用shutdown()时,出现无法访问的代码错误 - 我明白这一点。但在我看来,我可能不会拨打shutdown()
方法。你们有什么感想?
也许使布尔易失性,如果它是从不同的线程设置? –
@GrahamGriffiths,但它不是从一个不同的线程设置。当该线程收到停止事件时它被设置。 – hmjd