java常用线程池:newFixedThreadPool

 时间:2024-10-23 05:32:39

newFixedThreadPool是ExecuteService接口提供的另外一个线程池类型,该类型能够创建一个定长的线程池,即控制最大线程并发数,超过这个并发数的线程将在队列中等待。以下介绍该线程池的用法。

工具/原料

java

jdk1.8,IntelliJIDEA

方法/步骤

1、首先,通过Executors执行工具,创建newFixedThreadPool线程池的实例。其中,在创建实例的时候,指定并行运行的最大线程数为5。

java常用线程池:newFixedThreadPool

2、通过循环方法调用线程池excute方法,执行同一个线程方法10次。用于模拟线程newFixedThreadPool线程池获取线程的过程。

java常用线程池:newFixedThreadPool

3、在线程方法中,直接输出线程名,用于控制台输出,从而可以比较直观的查看运行的线程。

java常用线程池:newFixedThreadPool

4、由于线程方法中只是输出线程名,运行耗时非常小,不易看出该线程池的特性,这里可以直接让线程休眠一段时间,模拟程序运行所需要的时间。

java常用线程池:newFixedThreadPool

5、运行main方法,可以发现,在刚运行程序时,会立即打印出5个线程的输出。

java常用线程池:newFixedThreadPool

6、过了休眠时间后,再次打印出5个线程。这里就可以看到,newFixedThreadPool线程池按照我们设置的并发量进行了控制。

java常用线程池:newFixedThreadPool

7、改变并发参数为6,同样可以看到此时输出为6个线程。

java常用线程池:newFixedThreadPool

8、观察newFixedThreadPool源码,可以看到此时keepAliveTime为0,线程不会进行缓存,只要空闲就会被回收。

java常用线程池:newFixedThreadPool

9、注意使用该线程池一定要在使用完成后将线程池关闭,否则会一直挂起占据资源。

java常用线程池:newFixedThreadPool

Win10电脑让不同的程序使用不同的音量的方法? 火狐浏览器如何打开排障模式? Windows11如何导出单个注册表文件夹 dell笔记本无限重启开不开机 金谍K3系统中间层的创建
热门搜索
王源图片 圣斗士星矢漫画 袜子图片 花与少女的祝福 弓箭图片