executor.shutdown()的使用
The use of executor.shutdown()
看下面这段代码:
public void pinger()
{
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
executor.scheduleAtFixedRate(runnable, start, rate, TimeUnit.SECONDS);
executor.shutdown();
}
这种情况下写关机命令有什么用吗?不同的客户端会创建自己的可运行对象并调用此函数。
当您关闭执行器时,将不会接受任何新任务。由于您在 pinger 方法中创建了一个新任务,因此每个任务都有自己的执行程序。在您编写时关闭只会在当前任务终止后释放资源。
一些注意事项:
- 您不应为每个客户端请求创建
Executor
。
- 在客户端请求之外创建
Executor
并将任务提交给 Executor
- 当您决定不应该接受
Executor
的新任务时,请关闭执行程序。关闭 Executor
的正确方法在下面解释 post:
How to forcefully shutdown java ExecutorService
看下面这段代码:
public void pinger()
{
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
executor.scheduleAtFixedRate(runnable, start, rate, TimeUnit.SECONDS);
executor.shutdown();
}
这种情况下写关机命令有什么用吗?不同的客户端会创建自己的可运行对象并调用此函数。
当您关闭执行器时,将不会接受任何新任务。由于您在 pinger 方法中创建了一个新任务,因此每个任务都有自己的执行程序。在您编写时关闭只会在当前任务终止后释放资源。
一些注意事项:
- 您不应为每个客户端请求创建
Executor
。 - 在客户端请求之外创建
Executor
并将任务提交给Executor
- 当您决定不应该接受
Executor
的新任务时,请关闭执行程序。关闭Executor
的正确方法在下面解释 post:
How to forcefully shutdown java ExecutorService