Executors类中的newSingleThreadExecutor()方法

时间:2017-05-18 16:45:03

标签: java multithreading parallel-processing executorservice

上述方法的定义是“创建一个使用单个工作线程在无界队列中运行的执行器。”

我见过使用上述方法“通过在”Set“或”List“等数据结构中添加不同任务并调用方法invokeAll()

这里我对一件事感到困惑:如果上面的方法只创建一个工作线程,那么如何并行运行任务呢?

当然,还有其他方法,如newCachedThreadPool()newFixedThreadPool(int numberOfThreads) - 如果需要,这里创建了许多并行运行的线程。

1 个答案:

答案 0 :(得分:0)

使用newSingleThreadExecutor

一次无法运行多个任务

ExecutorService executor = Executors.newSingleThreadExecutor();

但是,它有一个工作队列,你可以在其中放入大量任务,这些任务只需在队列中等待执行,并由执行器中的单个线程逐个执行。