手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

java常用线程池:newFixedThreadPool

时间:2024-10-12 14:03:27

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
© 手抄报圈