码迷,mamicode.com
首页 > 编程语言 > 详细

ThreadPool线程池

时间:2018-12-27 22:56:08      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:常用   nbsp   一个   div   执行   pre   复用   png   exec   

0.线程池的好处

  复用线程,减少线程创建和销毁的开销。

  对线程的进行管理:定时,并发数的控制。

1.常用的三个线程池

new SingleThreadExecutor 核心线程一个、最大线程一个、创建后不销毁、无限队列

 

 1 /**
 2  * new SingleThreadExecutor 核心线程一个、最大线程一个、创建后不销毁、无限队列
 3  */
 4 private static void singleThreadPool() {
 5     ExecutorService executor = Executors.newSingleThreadExecutor();
 6     for (int i = 0; i < 10; i++) {
 7         executor.execute(new MyRunable(i));
 8     }
 9     // 执行完后销毁线程池
10     executor.shutdown();
11 }

 

技术分享图片

 

new FixedThreadPool核心线程和最大线程一样,创建后不销毁、无限队列

 1 /**
 2  * new FixedThreadPool        核心线程和最大线程一样,创建后不销毁、无限队列
 3  */
 4 private static void fixedThreadPool() {
 5     int threadSize = 5;
 6     ExecutorService executor = Executors.newFixedThreadPool(threadSize);
 7     for (int i = 0; i < 15; i++) {
 8         executor.execute(new MyRunable(i));
 9     }
10     // 执行完后销毁线程池
11     executor.shutdown();
12 }

技术分享图片

new CachedThreadPool核心线程零个、最大线程无限、创建后60s无复用销毁、同步队列

 1 /**
 2  * new CachedThreadPool        核心线程零个、最大线程无限、创建后60s无复用销毁、同步队列
 3  */
 4 private static void cachedThreadPool() {
 5     ExecutorService executor = Executors.newCachedThreadPool();
 6     for (int i = 0; i < 100; i++) {
 7         executor.execute(new MyRunable(i));
 8     }
 9     // 执行完后销毁线程池
10     executor.shutdown();
11 }

技术分享图片

 

ThreadPool线程池

标签:常用   nbsp   一个   div   执行   pre   复用   png   exec   

原文地址:https://www.cnblogs.com/jtfr/p/10187419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!