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

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

JAVA 線程池的使用

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

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
久久99国产精品久久久久久久久| 欧美色另类天堂2015| 国产成+人+综合+亚洲欧美丁香花| 亚洲第一精品自拍| 成人中文字幕+乱码+中文字幕| 欧美二区乱c黑人| 国产精品嫩草影院一区二区| 人九九综合九九宗合| 欧美诱惑福利视频| 欧美丝袜第一区| 久久精彩免费视频| 精品视频久久久久久久| 国产精品三级美女白浆呻吟| 国产v综合ⅴ日韩v欧美大片| 欧美午夜视频在线观看| 亚洲第一福利在线观看| 奇门遁甲1982国语版免费观看高清| 欧美日韩激情小视频| 日韩av免费看网站| 欧美激情日韩图片| 久久久久久一区二区三区| 国产精品激情自拍| 日韩hd视频在线观看| 亚洲色图狂野欧美| 欧美成人一区在线| 久久久噜噜噜久久中文字免| 欧美成人午夜剧场免费观看| 亚洲最新av在线网站| 欧美性猛交xxxx免费看漫画| 国产精品成人观看视频国产奇米| zzjj国产精品一区二区| 国产精品自拍视频| 欧洲成人在线视频| 精品日本美女福利在线观看| 国产成人精品综合久久久| 国产精品美女视频网站| 日韩欧美在线国产| 91精品视频免费| 亚洲的天堂在线中文字幕| 欧美在线激情网| 国产成人精品国内自产拍免费看| 国产日韩欧美夫妻视频在线观看| 欧美在线视频a| 国产一区二区视频在线观看| 欧美久久精品一级黑人c片| 中文在线不卡视频| 亚洲一区二区黄| 精品视频久久久| 欧美亚洲在线观看| 国产亚洲欧美aaaa| 日韩精品福利在线| 最近2019中文字幕一页二页| 久久国产加勒比精品无码| 亚洲天堂久久av| 色综久久综合桃花网| 精品少妇一区二区30p| 国产精品视频区| 欧美大肥婆大肥bbbbb| 精品国产乱码久久久久久虫虫漫画| 欧美激情videos| 日韩在线国产精品| 亚洲一区中文字幕在线观看| 国产亚洲美女精品久久久| 亚洲国产古装精品网站| 亚洲国产精品悠悠久久琪琪| 久久久女女女女999久久| 精品国产31久久久久久| 久久精品夜夜夜夜夜久久| 精品欧美一区二区三区| 狠狠做深爱婷婷久久综合一区| 一区二区三区无码高清视频| 亚洲成人网在线观看| 国产激情视频一区| 成人精品一区二区三区电影黑人| 91视频国产一区| 欧美大片在线免费观看| 日韩免费观看高清| 国产国语刺激对白av不卡| 国产精品96久久久久久又黄又硬| 国产91对白在线播放| 午夜免费久久久久| 91精品国产综合久久男男| 亚洲一级免费视频| 国产精品永久免费在线| 川上优av一区二区线观看| 97香蕉久久超级碰碰高清版| 精品少妇一区二区30p| 久久99久久99精品中文字幕| 国产欧美一区二区三区久久人妖| 亚洲欧美在线免费| 国产精品日韩欧美大师| 色香阁99久久精品久久久| 91美女福利视频高清| 在线观看欧美视频| 91豆花精品一区| 国产精品久久久久久一区二区| 亚洲人成欧美中文字幕| 国产精品一区专区欧美日韩| xxx成人少妇69| 亚洲最大av在线| 久久精品99久久久久久久久| 亚洲人成电影网站| 久久亚洲综合国产精品99麻豆精品福利| 日韩人体视频一二区| 亚洲影院色无极综合| 欧美日韩国产成人高清视频| 91中文在线观看| 国产精品久久久久久久久免费看| 日韩av中文在线| 91久久精品久久国产性色也91| 国产91成人在在线播放| 国内偷自视频区视频综合| 久久91亚洲精品中文字幕| 亚洲成色999久久网站| 国产精品18久久久久久首页狼| 欧美成人午夜激情视频| 欧美在线精品免播放器视频| 亚洲最大激情中文字幕| 欧美日韩综合视频网址| 7777免费精品视频| 1769国产精品| 日韩欧美成人免费视频| 日本久久久久久久久久久| 伊人久久久久久久久久久久久| 国产欧美在线视频| 亚洲男人天堂2019| 成人在线视频网| 久久亚洲精品国产亚洲老地址| 亚洲成人a**站| 久久精品一区中文字幕| 播播国产欧美激情| 亚洲美女在线看| 欧美精品手机在线| 亚洲福利影片在线| 国产日韩一区在线| 国产精品综合不卡av| 亚洲成色777777在线观看影院| 日韩欧美成人免费视频| 亚洲精品成人久久久| 大量国产精品视频| 91成人性视频| 国内精久久久久久久久久人| 国产一区二区三区丝袜| 成人在线视频网站| 中文字幕不卡在线视频极品| 中国人与牲禽动交精品| 亚洲美女www午夜| 亚洲国产精品美女| 亚洲天堂网站在线观看视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产视频亚洲视频| 91精品国产成人www| 亚洲美女精品久久| yw.139尤物在线精品视频| 在线国产精品播放| 久久久精品国产一区二区| 日韩精品一区二区三区第95| 亚洲精品国产精品自产a区红杏吧| 777精品视频| 亚洲国产精品国自产拍av秋霞| 91精品免费看| 中文字幕欧美日韩va免费视频| 日韩高清av一区二区三区| 欧美在线免费视频|