我们可以在定义ThreadPoolExecutors时提供BlockingQueue实现。但是,如果我使用工厂(Executors)创建单个线程池,如下所示,我想知道使用哪个阻塞队列。我猜这是一个LinkedBlockingQueue。该文档讨论了无界队列,但没有揭示实现。
ExectorService service = Executors.newSingleThreadExecutor();
答案 0 :(得分:1)
这是来自Executors src:
public static ExecutorService newSingleThreadExecutor() {
return new FinalizableDelegatedExecutorService
(new ThreadPoolExecutor(1, 1,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>()));
}