线程池之SingleThreadPool学习
发布日期:2021-05-06 23:31:55 浏览次数:9 分类:技术文章

本文共 571 字,大约阅读时间需要 1 分钟。

简介

SingleThreadPool是使用单个工作线程的线程池。

创建方法

public static ExecutorService newSingleThreadExecutor() {           return new FinalizableDelegatedExecutorService            (new ThreadPoolExecutor(1, 1,                                    0L, TimeUnit.MILLISECONDS,                                    new LinkedBlockingQueue
())); }

corePoolSize和maximumPoolSize都是1,即SingleThreadPool只有一个核心线程。其他参数都和FixedThreadPool一样。

execute方法执行

在这里插入图片描述执行execute方法时,若当前运行的线程数未达到核心线程数(没有正在运行的线程),就创建一个新线程来处理任务;如果当前有运行的线程,就把任务添加到阻塞队列LinkedBlockingQueue。SingleThreadPool能够确保所有的任务都在一个线程中按照顺序逐一执行。

上一篇:线程池之ScheduledThreadPool学习
下一篇:线程池之CachedThreadPool学习

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月31日 10时39分29秒