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