上述方法的定义是“创建一个使用单个工作线程在无界队列中运行的执行器。”
我见过使用上述方法“通过在”Set“或”List“等数据结构中添加不同任务并调用方法invokeAll()
并行执行”并行输入不同输入方法的多个实例“的示例p>
这里我对一件事感到困惑:如果上面的方法只创建一个工作线程,那么如何并行运行任务呢?
当然,还有其他方法,如newCachedThreadPool()
,newFixedThreadPool(int numberOfThreads)
- 如果需要,这里创建了许多并行运行的线程。
答案 0 :(得分:0)
使用newSingleThreadExecutor
:
ExecutorService executor = Executors.newSingleThreadExecutor();
但是,它有一个工作队列,你可以在其中放入大量任务,这些任务只需在队列中等待执行,并由执行器中的单个线程逐个执行。