Java並發編程:線程池 - 執行個體

來源:互聯網
上載者:User

標籤: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             @Override32             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並發編程:線程池 - 執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.