线程池执行代码,但 IDE 内容辅助中没有关闭选项
threadpool execution code but no option for shutdown in IDE content assist
我正在尝试在为每个线程分配参数的应用程序中执行 concurrent.Execute 线程池。我在处理过程中发现似乎正在创建比预期更多的线程。也没有关闭选项可用。也许下面的代码能更好地说明问题?
这是每个线程最终会到达的方法,Arraylist是在上一个方法中创建的。线程创建如下:
Executor executor =
Executors.newFixedThreadPool(threadCount);
for (final String server : serverList) {
executor.execute(new Runnable() {
@Override
public void run() {
while
(!Thread.currentThread().isInterrupted()) {
try {
...
retrieveMetrics(filterItem,pserver,assignedServer,
Bean);
在 while 循环结束时我试图实现 executor.shutdown() 但它不是一个已定义的方法。我上面的实现也是正确的,实际上只允许创建有限数量的线程。在此感谢建议和回复。
编辑:
出于某种原因我无法使用 shutdown()。
编辑 2:
你必须使用下面的
ExecutorService executorService = Executors.newFixedThreadPool(threadCount);
而不是
Executor executor = Executors.newFixedThreadPool(threadCount);
我正在尝试在为每个线程分配参数的应用程序中执行 concurrent.Execute 线程池。我在处理过程中发现似乎正在创建比预期更多的线程。也没有关闭选项可用。也许下面的代码能更好地说明问题?
这是每个线程最终会到达的方法,Arraylist是在上一个方法中创建的。线程创建如下:
Executor executor =
Executors.newFixedThreadPool(threadCount);
for (final String server : serverList) {
executor.execute(new Runnable() {
@Override
public void run() {
while
(!Thread.currentThread().isInterrupted()) {
try {
...
retrieveMetrics(filterItem,pserver,assignedServer,
Bean);
在 while 循环结束时我试图实现 executor.shutdown() 但它不是一个已定义的方法。我上面的实现也是正确的,实际上只允许创建有限数量的线程。在此感谢建议和回复。
编辑:
出于某种原因我无法使用 shutdown()。
编辑 2:
你必须使用下面的
ExecutorService executorService = Executors.newFixedThreadPool(threadCount);
而不是
Executor executor = Executors.newFixedThreadPool(threadCount);