这是我的代码片段。
ExecutorService executor = Executors.newFixedThreadPool(ThreadPoolSize);
while(conditionTrue)
{
ClassImplementingRunnable c = new ClassImplementingRunnable();
executor.submit(c);
}
现在完成后
executor.shutdown();
我想在这里实现的是我想等待线程池中的所有线程都完成执行,然后我想关闭执行器。
但我想这不是这里发生的事情。主线程似乎正在执行关闭,它只是关闭了一切。
在我的线程池大小为 2 之前,我做了以下操作,它似乎工作。
ClassImplementingRunnable c1 = new ClassImplementingRunnable();
executor.submit(c1);
ClassImplementingRunnable c2 = new ClassImplementingRunnable();
executor.submit(c2);
Future f1 = executor.submit(c1);
Future f2 = executor.submit(c2);
while(!f1.done || !f2.done)
{}
executor.submit();
我如何为线程池中的更多线程执行此操作?谢谢。