我有一个ExecutorService:
private final ExecutorService listenDataExecutorService =
Executors.newSingleThreadExecutor();
Run Code Online (Sandbox Code Playgroud)
在同样的情况下,我需要执行人停止做他的工作。为此我打电话listenDataExecutorService.shutdown();
然后过了一段时间,我需要这个执行者再次做这项工作。但是当我调用时listenDataExecutorService.execute()抛出异常。
之后如何为执行者执行新任务shutdown?
一旦执行程序服务被关闭,它就无法重新激活。创建一个新的执行器服务来重新启动执行:
listenDataExecutorService = Executors.newSingleThreadExecutor();
Run Code Online (Sandbox Code Playgroud)
final(不过你必须删除修饰符。)
另一种选择是取消所有挂起的任务,然后在您想要恢复执行时重新安排它们。
| 归档时间: |
|
| 查看次数: |
3111 次 |
| 最近记录: |