線程池是一種有效管理和復(fù)用線程資源的機制。在Java中,線程池的創(chuàng)建有四種方式:
1.Executors類的newFixedThreadPool方法
該方法返回固定大小的線程池,一旦所有線程都處于活動狀態(tài),新的任務(wù)將等待空閑線程出現(xiàn)。
2.Executors類的newCachedThreadPool方法
該方法返回一個可緩存線程池,如果線程池的當(dāng)前規(guī)模超過了處理需求,那么將回收空閑的線程,反之則擴展線程池。
3.Executors類的newSingleThreadExecutor方法
該方法返回一個只有一個線程的線程池,如果該線程因為異常結(jié)束而退出,那么仍然會有一個線程代替它。
4.ThreadPoolExecutor構(gòu)造函數(shù)
通過ThreadPoolExecutor的構(gòu)造函數(shù)可以自定義線程池的各種參數(shù),例如核心線程數(shù)、最大線程數(shù)、任務(wù)隊列等。
閱讀全文