专栏名称: java一日一条
主要是讲解编程语言java,并且每天都推送一条关于java编程语言的信息
目录
相关文章推荐
芋道源码  ·  谈一谈 分库分表 vs NewSQL数据库 ·  9 小时前  
芋道源码  ·  一款轻便、安全、免费的远程桌面工具 ·  9 小时前  
芋道源码  ·  SQL性能优化神器! ·  昨天  
芋道源码  ·  Spring Boot 3.2 ... ·  昨天  
51好读  ›  专栏  ›  java一日一条

Java并发编程:4种线程池和缓冲队列BlockingQueue

java一日一条  · 公众号  · Java  · 2019-01-09 20:52

正文

请到「今天看啥」查看全文


2. 具体的4种常用的线程池实现如下:(返回值都是ExecutorService)

2.1 Executors.newCacheThreadPool():可缓存线程池,先查看池中有没有以前建立的线程,如果有 ,就直接使用。如果没有,就建一个新的线程加入池中,缓存型池子通常用于执行一些生存期很短的异步型任务

示例代码:

输出结果:

pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行
pool-1-thread-1正在被执行

线程池为无限大,当执行当前任务时上一个任务已经完成,会复用执行上一个任务的 线程,而不用每次新建线程

2.2  Executors.newFixedThreadPool(int n) :创建一个可重用固定个数的线程池,以共享的无界队列方式来运行这些线程。

示例代码:







请到「今天看啥」查看全文