线程池的5种创建方式


1. Single Thread Executor:只有一个线程的线程池,因此所有提交的任务是顺序执行。

代码:Executors.newSingleThreadExecutor()

2. Cached Thread Pool:线程池里有很多线程需要同时执行,老的可用线程将被新的任务触发重新执行,如果线程超过60秒内没执行,那么将被终止并从池中删除。

代码:Executors.newCachedThreadPool()

3. Fixed Thread Pool:拥有固定线程数的线程池,如果没有任务执行,那么线程会一直等待。

代码:Executors.newFixedThreadPool(4)

在构造函数中的参数4是线程池的大小,你可以随意设置,也可以和cpu的核数量保持一致,获取cpu的核数量方式:int cpuNums = Runtime.getRuntime().availableProcessors();

4. Scheduled Thread Pool:用来调度即将执行的任务的线程池。

代码:Executors.newScheduledThreadPool()

5. Single Thread Scheduled Pool:只有一个线程,用来调度任务在指定时间执行。

代码:Executors.newSingleThreadScheduledExecutor()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM