1

我们可以在定义 ThreadPoolExecutors 的同时提供一个 BlockingQueue 实现。但是,如果我使用工厂(Executors)创建如下所示的单个线程池,我想知道使用哪个阻塞队列。我猜它是一个 LinkedBlockingQueue。该文档讨论了无界队列,但没有透露实现。

ExectorService service = Executors.newSingleThreadExecutor();
4

1 回答 1

1

这是来自 Executors src:

public static ExecutorService newSingleThreadExecutor() {
    return new FinalizableDelegatedExecutorService
        (new ThreadPoolExecutor(1, 1,
                                0L, TimeUnit.MILLISECONDS,
                                new LinkedBlockingQueue<Runnable>()));
}
于 2014-12-15T15:12:39.210 回答