線程池通過復(fù)用線程,避免線程頻繁創(chuàng)建和銷毀。
Java的Executors工具類中,提供了5種類型線程池的創(chuàng)建方法,它們的特點和適用場景如下:
第1種是:固定大小線程池,特點是線程數(shù)固定,使用無界隊列,適用于任務(wù)數(shù)量不均勻的場景、對內(nèi)存壓力不敏感,但系統(tǒng)負載比較敏感的場景;
第2種是:Cached線程池,特點是不限制線程數(shù),適用于要求低延遲的短期任務(wù)場景;
第3種是:單線程線程池,也就是一個線程的固定線程池,適用于需要異步執(zhí)行但需要保證任務(wù)順序的場景;
第4種是:Scheduled線程池,適用于定期執(zhí)行任務(wù)場景,支持按固定頻率定期執(zhí)行和按固定延時定期執(zhí)行兩種方式;
第5種是:工作竊取線程池,使用的ForkJoinPool,是固定并行度的多任務(wù)隊列,適合任務(wù)執(zhí)行時長不均勻的場景。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74122.html
摘要:最終也是通過執(zhí)行的。如果隊列已經(jīng)滿了,則判斷是否達到了線程池設(shè)置的最大線程數(shù),如果沒有達到,就創(chuàng)建新線程來執(zhí)行任務(wù)。如果已經(jīng)達到了最大線程數(shù),則執(zhí)行指定的拒絕策略。這里需要注意隊列的判斷與最大線程數(shù)判斷的順序,不要搞反。 我們向線程提交任務(wù)時可以使用Execute和Submit,區(qū)別就是Submit可以返回一個Future對象,通過Future對象可以了解任務(wù)執(zhí)行情況,可以取消任務(wù)的執(zhí)...
摘要:基礎(chǔ)問題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識點總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機制解讀抽象類與三大特征時間和時間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類對象鎖和類鎖的區(qū)別,,優(yōu)缺點及比較提高篇八詳解內(nèi)部類單例模式和 Java基礎(chǔ)問題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
摘要:基礎(chǔ)問題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識點總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機制解讀抽象類與三大特征時間和時間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類對象鎖和類鎖的區(qū)別,,優(yōu)缺點及比較提高篇八詳解內(nèi)部類單例模式和 Java基礎(chǔ)問題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
摘要:基礎(chǔ)問題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識點總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機制解讀抽象類與三大特征時間和時間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類對象鎖和類鎖的區(qū)別,,優(yōu)缺點及比較提高篇八詳解內(nèi)部類單例模式和 Java基礎(chǔ)問題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...
閱讀 3928·2021-11-24 09:39
閱讀 1967·2021-11-16 11:45
閱讀 803·2021-11-16 11:45
閱讀 1173·2021-10-11 10:58
閱讀 2591·2021-09-09 11:51
閱讀 2009·2019-08-30 15:54
閱讀 777·2019-08-29 13:13
閱讀 3534·2019-08-26 12:18