線程四種
單線程 固定數(shù)目線程 緩存線程 定時線程
關(guān)于線程:
1.線程并不是越多越好.
2.線程該用才用.跟事物一樣.不該用不要用.否則反而降低性能
3.線程池?cái)?shù)量 差不多是 CPU核數(shù) * 2
4.阿里編碼規(guī)范已不推薦使用ExcutorService方法使用線程
【強(qiáng)制】線程池不允許使用 Executors 去創(chuàng)建插佛,而是通過 ThreadPoolExecutor 的方式杠巡,這樣
的處理方式讓寫的同學(xué)更加明確線程池的運(yùn)行規(guī)則,規(guī)避資源耗盡的風(fēng)險雇寇。
說明:Executors 返回的線程池對象的弊端如下:
1)FixedThreadPool 和 SingleThreadPool:
允許的請求隊(duì)列長度為 Integer.MAX_VALUE氢拥,可能會堆積大量的請求蚌铜,從而導(dǎo)致 OOM。
2)CachedThreadPool 和 ScheduledThreadPool:
允許的創(chuàng)建線程數(shù)量為 Integer.MAX_VALUE嫩海,可能會創(chuàng)建大量的線程冬殃,從而導(dǎo)致 OOM。