亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JAVA 線程池的使用

2019-11-14 11:03:31
字體:
來源:轉載
供稿:網友

java通過Executors提供四種線程池,分別為:newCachedThreadPool創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。newFixedThreadPool 創建一個定長線程池,可控制線程最大并發數,超出的線程會在隊列中等待。newScheduledThreadPool 創建一個定長線程池,支持定時及周期性任務執行。newSingleThreadExecutor 創建一個單線程化的線程池,它只會用唯一的工作線程來執行任務,保證所有任務按照指定順序(FIFO, LIFO, 優先級)執行。

 

(1) newCachedThreadPool創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。示例代碼如下:

package test;  import java.util.concurrent.ExecutorService;  import java.util.concurrent.Executors;  public class ThreadPoolExecutorTest {   public static void main(String[] args) {    ExecutorService cachedThreadPool = Executors.newCachedThreadPool();    for (int i = 0; i < 10; i++) {     final int index = i;     try {      Thread.sleep(index * 1000);     } catch (InterruptedException e) {      e.PRintStackTrace();     }     cachedThreadPool.execute(new Runnable() {      public void run() {       System.out.println(index);      }     });    }   }  }  

 

線程池為無限大,當執行第二個任務時第一個任務已經完成,會復用執行第一個任務的線程,而不用每次新建線程。 (2) newFixedThreadPool創建一個定長線程池,可控制線程最大并發數,超出的線程會在隊列中等待。示例代碼如下:

package test;  import java.util.concurrent.ExecutorService;  import java.util.concurrent.Executors;  public class ThreadPoolExecutorTest {   public static void main(String[] args) {    ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);    for (int i = 0; i < 10; i++) {     final int index = i;     fixedThreadPool.execute(new Runnable() {      public void run() {       try {        System.out.println(index);        Thread.sleep(2000);       } catch (InterruptedException e) {        e.printStackTrace();       }      }     });    }   }  }  

 因為線程池大小為3,每個任務輸出index后sleep 2秒,所以每兩秒打印3個數字。定長線程池的大小最好根據系統資源進行設置。如Runtime.getRuntime().availableProcessors()

 

(3)  newScheduledThreadPool創建一個定長線程池,支持定時及周期性任務執行。延遲執行示例代碼如下:

package test;  import java.util.concurrent.Executors;  import java.util.concurrent.ScheduledExecutorService;  import java.util.concurrent.TimeUnit;  public class ThreadPoolExecutorTest {   public static void main(String[] args) {    ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);    scheduledThreadPool.schedule(new Runnable() {     public void run() {      System.out.println("delay 3 seconds");     }    }, 3, TimeUnit.SECONDS);   }  }  

 表示延遲3秒執行。

定期執行示例代碼如下:

package test;  import java.util.concurrent.Executors;  import java.util.concurrent.ScheduledExecutorService;  import java.util.concurrent.TimeUnit;  public class ThreadPoolExecutorTest {   public static void main(String[] args) {    ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);    scheduledThreadPool.scheduleAtFixedRate(new Runnable() {     public void run() {      System.out.println("delay 1 seconds, and excute every 3 seconds");     }    }, 1, 3, TimeUnit.SECONDS);   }  }  

 表示延遲1秒后每3秒執行一次。

 

(4) newSingleThreadExecutor創建一個單線程化的線程池,它只會用唯一的工作線程來執行任務,保證所有任務按照指定順序(FIFO, LIFO, 優先級)執行。示例代碼如下:

package test;  import java.util.concurrent.ExecutorService;  import java.util.concurrent.Executors;  public class ThreadPoolExecutorTest {   public static void main(String[] args) {    ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();    for (int i = 0; i < 10; i++) {     final int index = i;     singleThreadExecutor.execute(new Runnable() {      public void run() {       try {        System.out.println(index);        Thread.sleep(2000);       } catch (InterruptedException e) {        e.printStackTrace();       }      }     });    }   }  }  

 結果依次輸出,相當于順序執行各個任務。

你可以使用JDK自帶的監控工具來監控我們創建的線程數量,運行一個不終止的線程,創建指定量的線程,來觀察:工具目錄:C:/Program Files/Java/jdk1.6.0_06/bin/jconsole.exe運行程序做稍微修改:

package test;  import java.util.concurrent.ExecutorService;  import java.util.concurrent.Executors;  public class ThreadPoolExecutorTest {   public static void main(String[] args) {    ExecutorService singleThreadExecutor = Executors.newCachedThreadPool();    for (int i = 0; i < 100; i++) {     final int index = i;     singleThreadExecutor.execute(new Runnable() {      public void run() {       try {        while(true) {         System.out.println(index);         Thread.sleep(10 * 1000);        }       } catch (InterruptedException e) {        e.printStackTrace();       }      }     });     try {      Thread.sleep(500);     } catch (InterruptedException e) {      e.printStackTrace();     }    }   }  }  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97视频国产在线| 亚洲成人精品在线| 欧美精品激情在线| 色综合导航网站| 久久久视频免费观看| 国产97人人超碰caoprom| 日韩免费在线电影| 国产91色在线免费| 日韩一区二区精品视频| 国产精品十八以下禁看| 国产99久久精品一区二区永久免费| 国产剧情久久久久久| 欧美中文字幕第一页| 亚洲色图在线观看| 国产综合在线视频| 欧美在线视频一区二区| 欧美激情亚洲精品| 欧美猛交ⅹxxx乱大交视频| 亚洲一区二区免费| 97超碰国产精品女人人人爽| 中文字幕亚洲综合久久筱田步美| 日韩精品极品视频免费观看| 在线电影av不卡网址| 欧美影院久久久| 日韩av在线直播| 欧美激情亚洲自拍| 欧美日韩中文在线观看| 欧美日韩一区二区三区| 国产美女精品视频| 久久影院资源站| 欧美精品videosex性欧美| 国产精品久久久久久久久久三级| 亚洲最大的成人网| 国产精品成人免费电影| 97在线视频一区| 国产有码一区二区| 欧美性猛交xxxxx免费看| 日韩av理论片| 91嫩草在线视频| 欧美久久久精品| 色噜噜狠狠狠综合曰曰曰88av| 欧美色欧美亚洲高清在线视频| 中文字幕久久久| 啪一啪鲁一鲁2019在线视频| 欧美成人午夜激情视频| 国产日韩在线看| 国产精品极品美女在线观看免费| 欧美高清一级大片| 亚洲第一视频网| 国产午夜精品麻豆| 亚洲r级在线观看| 亚洲午夜未删减在线观看| 国产精品一久久香蕉国产线看观看| 精品国产福利在线| 日韩中文字幕国产| 亚洲视频综合网| 不卡伊人av在线播放| 美女久久久久久久久久久| 久久久久久久网站| 日韩电影视频免费| 亚洲欧美制服丝袜| 浅井舞香一区二区| 亚洲成人久久一区| 久久久久久噜噜噜久久久精品| 91色视频在线观看| 亚洲国产精品人人爽夜夜爽| 欧美电影免费在线观看| 国产视频在线一区二区| 81精品国产乱码久久久久久| 中文字幕亚洲一区二区三区五十路| 亚洲精品在线不卡| 久久视频国产精品免费视频在线| 久久影视三级福利片| 国产精品福利网站| 久久久亚洲网站| 欧美精品中文字幕一区| 国产欧美一区二区三区在线看| 国产伦精品免费视频| 中文字幕亚洲一区| 欧美成人精品不卡视频在线观看| 精品国产美女在线| 亚洲一区二区三区xxx视频| 91av在线精品| 7m精品福利视频导航| 欧美精品videossex88| 91精品国产色综合久久不卡98| 欧美午夜视频在线观看| 在线激情影院一区| 九九综合九九综合| 欧美资源在线观看| 国产91在线播放精品91| 国产精品日韩在线| 91av视频在线观看| 91久久久久久久久久久| 国产成人短视频| 欧洲成人午夜免费大片| 91精品国产高清久久久久久91| 亚洲美女视频网站| 日韩一级黄色av| 亚洲精品久久久久中文字幕欢迎你| 国产精品1234| 久久人人爽亚洲精品天堂| 全色精品综合影院| 久久成人精品电影| 成人在线国产精品| 久久久av免费| 欧美亚洲一区在线| 日韩动漫免费观看电视剧高清| 国产男人精品视频| 91wwwcom在线观看| 日本午夜在线亚洲.国产| 国产97免费视| 亚洲综合中文字幕在线观看| 欧美激情区在线播放| 亚洲精品小视频| 国产精品久久久久久av福利软件| 日本精品中文字幕| 久久精品国产亚洲7777| 亚洲视频欧美视频| 国产精品欧美久久久| 久久久久日韩精品久久久男男| 欧美亚洲另类制服自拍| 亚洲白虎美女被爆操| 亚洲免费精彩视频| 亚洲一区二区三区成人在线视频精品| 亚洲欧美中文日韩v在线观看| 久久精品国产2020观看福利| 国产免费一区视频观看免费| 日韩中文在线观看| 97色在线观看| 97国产精品人人爽人人做| 亚洲91av视频| 欧美日韩免费在线观看| 久久久久国产视频| 欧美精品久久久久久久久久| 最近2019年好看中文字幕视频| 黄色一区二区在线| 91在线|亚洲| 欧美黑人性视频| 精品一区电影国产| 亚洲性猛交xxxxwww| 精品国产乱码久久久久久天美| 亚洲国产精品视频在线观看| 日韩大陆毛片av| 久久精品国产电影| 欧美日韩免费在线观看| 国产精品一香蕉国产线看观看| 国产精品小说在线| 亚洲精品久久久久久久久久久久久| 亚洲精品久久久久中文字幕二区| 正在播放亚洲1区| 欧美一级在线亚洲天堂| 欧美激情va永久在线播放| 亚洲成色777777在线观看影院| 亚洲人a成www在线影院| 777777777亚洲妇女| 91精品久久久久久久久久| 久久久噜久噜久久综合| 日韩av电影中文字幕| 中日韩午夜理伦电影免费| 精品国产老师黑色丝袜高跟鞋| 日韩在线视频导航| 精品国产欧美成人夜夜嗨| 国产+成+人+亚洲欧洲|