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

Java并发编程:线程池 - 实例

时间:2017-08-16 18:17:35      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:main   stack   size   线程池   get   read   ble   div   cond   

 

 

代码块:

 1 public class test {
 2     public static void main(String[] args) {
 3         test t = new test();
 4         ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 200,
 5                 TimeUnit.MILLISECONDS, new LinkedBlockingDeque<Runnable>(5));
 6 
 7         for (int i = 1; i < 16; i++) {
 8             t.testRun(executor, i);
 9             System.out.println("-- 线程池中的线程数 :" + executor.getPoolSize() +
10                     " -- 对列中的线程数 :" + executor.getQueue().size() +
11                     " -- 已执行完的线程数 :" + executor.getCompletedTaskCount());
12         }
13         executor.shutdown();
14         while (true) {
15             if (executor.isTerminated()) {
16                 System.out.println("* ------ * 所有线程已结束");
17                 break;
18             }
19             try {
20                 Thread.sleep(100);
21             } catch (InterruptedException e) {
22                 e.printStackTrace();
23             }
24         }
25 
26     }
27 
28     public void testRun(ThreadPoolExecutor executor, final int a) {
29 
30         executor.execute(new Thread(new Runnable() {
31             @Override
32             public void run() {
33                 System.out.println("线程 开始 ,线程 :" + a);
34                 try {
35                     Thread.sleep(a * 1000);
36                 } catch (InterruptedException e) {
37                     e.printStackTrace();
38                 }
39                 System.out.println("线程 结束,线程 : " + a);
40             }
41         }, "name"));
42 
43     }
44 }

运行结果:

技术分享
线程 开始 ,线程 :1
-- 线程池中的线程数 :1 -- 对列中的线程数 :0 -- 已执行完的线程数 :0
-- 线程池中的线程数 :2 -- 对列中的线程数 :0 -- 已执行完的线程数 :0
线程 开始 ,线程 :2
-- 线程池中的线程数 :3 -- 对列中的线程数 :0 -- 已执行完的线程数 :0
线程 开始 ,线程 :3
-- 线程池中的线程数 :4 -- 对列中的线程数 :0 -- 已执行完的线程数 :0
线程 开始 ,线程 :4
-- 线程池中的线程数 :5 -- 对列中的线程数 :0 -- 已执行完的线程数 :0
线程 开始 ,线程 :5
-- 线程池中的线程数 :5 -- 对列中的线程数 :1 -- 已执行完的线程数 :0
-- 线程池中的线程数 :5 -- 对列中的线程数 :2 -- 已执行完的线程数 :0
-- 线程池中的线程数 :5 -- 对列中的线程数 :3 -- 已执行完的线程数 :0
-- 线程池中的线程数 :5 -- 对列中的线程数 :4 -- 已执行完的线程数 :0
-- 线程池中的线程数 :5 -- 对列中的线程数 :5 -- 已执行完的线程数 :0
-- 线程池中的线程数 :6 -- 对列中的线程数 :5 -- 已执行完的线程数 :0
线程 开始 ,线程 :11
-- 线程池中的线程数 :7 -- 对列中的线程数 :5 -- 已执行完的线程数 :0
线程 开始 ,线程 :12
-- 线程池中的线程数 :8 -- 对列中的线程数 :5 -- 已执行完的线程数 :0
线程 开始 ,线程 :13
-- 线程池中的线程数 :9 -- 对列中的线程数 :5 -- 已执行完的线程数 :0
线程 开始 ,线程 :14
-- 线程池中的线程数 :10 -- 对列中的线程数 :5 -- 已执行完的线程数 :0
线程 开始 ,线程 :15
线程 结束,线程 : 1
线程 开始 ,线程 :6
线程 结束,线程 : 2
线程 开始 ,线程 :7
线程 结束,线程 : 3
线程 开始 ,线程 :8
线程 结束,线程 : 4
线程 开始 ,线程 :9
线程 结束,线程 : 5
线程 开始 ,线程 :10
线程 结束,线程 : 6
线程 结束,线程 : 7
线程 结束,线程 : 11
线程 结束,线程 : 8
线程 结束,线程 : 12
线程 结束,线程 : 13
线程 结束,线程 : 9
线程 结束,线程 : 14
线程 结束,线程 : 15
线程 结束,线程 : 10
* ------ * 所有线程已结束
View Code

 

Java并发编程:线程池 - 实例

标签:main   stack   size   线程池   get   read   ble   div   cond   

原文地址:http://www.cnblogs.com/anitinaj/p/7374546.html

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