成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Java并發線程之線程池的知識總結

瀏覽:10日期:2022-08-17 16:01:47

初始化線程池后,把任務丟進去,等待調度就可以了,使用起來比較方便。JAVA中Thread是線程類,不建議直接使用Thread執行任務,在并發數量比較多的情況下,每個線程都是執行一個很短的時間就任務結束了,這樣頻繁創建線程會大大降低系統的效率,因為頻繁的創建和銷毀線程需要時間。而線程池可以復用,就是執行完一個任務,并不銷毀,而是可以繼續執行其它任務。

Thread的弊端 每次new Thread() 創建對象,性能差。 線程缺乏統一管理,可能無限制創建線程,相互競爭,有可能占用過多系統資源導致死機或OOM。 不能多執行,定期執行,線程中斷 線程池的優點 重用存在的線程,減少對象創建,消亡的開銷,性能佳,降低資源消耗。 可以控制最大并發線程數,提高系統資源利用率,同時避免過多資源競爭,避免阻塞,提高響應速度。 提供定時執行,定期執行,單線程,并發數控制等功能,以提高線程的可管理性。

阿里發布的 Java 開發手冊中強制線程池不允許使用 Executors 去創建,而是通過 ThreadPoolExecutor 的方式,這樣的處理方式讓寫的同學更加明確線程池的運行規則,規避資源耗盡的風險。Executors利用工廠模式向我們提供了4種線程池實現方式,但是并不推薦使用,原因是使用Executors創建線程池不會傳入相關參數而使用默認值所以我們常常忽略了那些重要的參數(線程池大小、緩沖隊列的類型等),而且默認使用的參數會導致資源浪費,不可取。

ThreadPoolExecutor介紹構造函數和參數

Java并發線程之線程池的知識總結

java.uitl.concurrent.ThreadPoolExecutor類是線程池中最核心的一個類。

public class ThreadPoolExecutor extends AbstractExecutorService { /** 構造函數 1 */ public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue) {} /** 構造函數 2 */ public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue,ThreadFactory threadFactory) {} /** 構造函數 3 */ public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue,RejectedExecutionHandler handler) {} /** 構造函數 4 */ public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler) {}}

ThreadPoolExecutor類中提供了四個構造方法,在構造函數4中,參數最多,通過觀察其他3個構造函數,發現前面三個構造器都是調用的第四個構造器進行的初始化工作。

Java并發線程之線程池的知識總結

構造器中各個參數的含義

corePoolSize 核心線程池的大小,在創建了線程池后,默認情況下,線程池中沒有任何的線程池,而是等任務過來了再去創建線程執行任務。除非調用了預創建線程的方法,即在沒有任務到來之前就創建corePoolSize個線程或者一個線程。當線程池中的線程數量到達corePoolSize后,就會把到達的任務放到緩存隊列里面。

prestartCoreThread() : 預創建一個核心線程,使其閑置等待工作。 prestartAllCoreThreads() : 啟動所有核心線程,導致它們空閑地等待工作。

maxnumPoolSize 線程池中最大的線程數,是一個非常重要的參數,它表示在線程池中最多能創建多少線程。keepAliveTime 表示線程在沒有任務執行時最多保持多久時間會終止。默認情況下,只有當線程池中的線程數大于corePoolSize時,keepAliveTime才會起作用,即當線程池中的線程數大于corePoolSize,如果一個線程的空閑時間達到keepAliveTime,則會終止直到線程池中的線程數量不大于corePoolSize。但是如果調用了allowCoreThreadTimeOut(boolean)方法,在線程池中線程數不大于corePoolSize時,keepAliveTime參數也會啟作用,直到線程池中的線程數為0。

unit 參數keepAliveTime的時間單位,有7種取值,在TimeUnit類中有7種靜態屬性。

TimeUnit.DAYS : 以 天 為單位 ; TimeUnit.HOURS : 以 小時 為單位 ; TimeUnit.MINUTES : 以 分鐘 為單位 ; TimeUnit.SECONDS : 以 秒 為單位 ; TimeUnit.MILLISECONDS : 以 毫秒 為單位 ; TimeUnit.MICROSECONDS : 以 微秒 為單位 ; TimeUnit.NANOSECONDS : 以 納秒 為單位 ;

workQueue一個阻塞隊列,用來存儲等待執行的任務,這個參數的選擇也很重要,會對線程池的運行過程產生重大影響,一般有以下幾種選擇。

ArrayBlockingQueue:基于數組的先進先出隊列,創建時必須指定大小。 LinkedBlockingQueue:基于鏈表的先進先出隊列,若果創建時沒有指定此隊列的大小,則默認為Integer.MAX_VALUE。 SynchronousQueue:這個隊列比較特殊,它不會保存提交的任務,而是直接新建一個線程來執行新的任務。

threadFactory線程工廠,主要用來創建線程。線程池最重要的一項工作,就是在滿足某些條件情況下創建線程。在ThreadPoolExecutor線程池中,創建線程的操作時交給ThreadFactoty來完成。使用線程池,就必須要指定threadFactory。如果我們的構造器中沒有指定使用ThreadFactory,這個時候ThreadPoolExecutor就會使用默認的ThreadFactory:DefaultThreadFactoryhandler 在ThreadPoolExecutor線程池中還有一個重要的接口:RejectedExecutionHandler。當提交給線程池的某一個新任務無法直接被線程池中“核心線程”直接處理,又無法加入等待隊列,也無法創建新的線程執行;又或者線程池已經調用shutdown()方法停止了工作;又或者線程池不是處于正常的工作狀態;這時候ThreadPoolExecutor線程池會拒絕處理這個任務,觸發創建ThreadPoolExecutor線程池時定義的RejectedExecutionHandler接口的實現,表示當拒絕處理任務時的策略,有以下四種取值,四種值都為其靜態內部類:

ThreadPoolExecutor.AbortPolicy:丟棄任務并拋出RejectedExecutionException異常 ThreadPoolExecutor.DiscardPolicy:也是丟棄任務,但是不拋出異常。 ThreadPoolExecutor.DiscardOldestPolicy:丟棄隊列最前面的任務,然后重新嘗試執行新提交的任務。 ThreadPoolExecutor執行execute方法分下面4種情況 如果當前運行的線程少于corePoolSize,則創建新的線程來執行任務(執行這一步驟需要獲取全局鎖) 如果運行的線程等于或者多于corePoolSize,則將任務加入到BlockingQueue 如果無法將任務加入BlockingQueue(隊列已滿),則創建新的線程來處理任務(執行這一步驟需要獲取全局鎖) 如果創建新線程將當前運行的線程超出maxnumPoolSize,任務被拒絕,并調用RejectedExecutionHandler.rejectedExecution()方法。

以上就是Java并發線程之線程池的知識總結的詳細內容,更多關于Java 線程池的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧洲日韩一区二区三区| 日韩精品电影在线| 午夜视频在线观看一区二区| 亚洲人体一区| 国产人久久人人人人爽| 风间由美一区二区av101| 欧美久久一区二区| 久久69国产一区二区蜜臀| 另类国产ts人妖高潮视频| 中文字幕中文字幕一区| 91麻豆国产福利在线观看| 欧美成人一区二区| 国产成人午夜高潮毛片| 91麻豆精品91久久久久同性| 国产一区二区免费看| 欧美日韩不卡一区| 日韩国产高清影视| 日本道精品一区二区三区 | 亚洲一区网站| 亚洲男人的天堂av| 99热免费精品| 亚洲精品欧美专区| 国产精品久久久对白| 亚洲制服丝袜在线| 久久精品欧美| 日韩和欧美一区二区| 欧美性做爰猛烈叫床潮| 美女爽到高潮91| 欧美亚洲国产一区在线观看网站| 午夜电影久久久| 在线免费观看日韩欧美| 麻豆91免费观看| 7777女厕盗摄久久久| 国产精品456| 日韩欧美国产一二三区| 不卡视频一二三| 久久久久久久久久久久久女国产乱| 97se亚洲国产综合自在线不卡 | 午夜a成v人精品| 日本vs亚洲vs韩国一区三区| 老司机精品久久| 老司机免费视频一区二区| 欧美日韩aaa| 成人精品视频网站| 欧美精品欧美精品系列| 成人精品国产一区二区4080| 久久久五月婷婷| 国产主播一区| 亚洲精品老司机| 欧洲人成人精品| 国产精品综合久久| 久久久国产精华| 亚洲韩日在线| 日本少妇一区二区| 日韩精品一区二区三区在线| 欧美在线视频二区| 夜夜嗨av一区二区三区 | 久久久久国产成人精品亚洲午夜| 国产精品激情| 亚洲国产日韩一区二区| 欧美综合一区二区三区| 成人美女在线视频| 中文字幕一区三区| 久久综合九色综合久99| 国产一区二区美女诱惑| 欧美激情一区二区三区在线| 亚洲在线黄色| 国产一区91精品张津瑜| 国产精品美女久久久久久| 国产精品免费在线| 激情小说欧美图片| 国产欧美久久久精品影院| 亚洲免费一区二区| 亚洲在线视频网站| 欧美高清激情brazzers| 午夜精品亚洲一区二区三区嫩草| 亚洲三级电影网站| 欧美午夜精品久久久| 91在线观看成人| 亚洲国产精品自拍| 欧美成人aa大片| 亚洲一卡久久| 国产成人精品免费一区二区| 中日韩免费视频中文字幕| 亚洲一区3d动漫同人无遮挡| 国产精品一区二区久久不卡| 国产精品久久久久久户外露出 | 91福利区一区二区三区| 成人美女视频在线观看| 亚洲免费在线观看| 欧美精品久久一区二区三区| 精品999日本| 国产一区二区福利视频| 中文字幕欧美一区| 欧美日韩不卡一区二区| 在线欧美三区| 成人一区二区三区中文字幕| 亚洲欧美aⅴ...| 日韩写真欧美这视频| 国产欧美一区二区三区国产幕精品| 国产一区二区在线看| 国产精品久久久久久久蜜臀| 欧美色网站导航| 激情视频一区二区三区| 国产一区二区伦理片| 一区二区三区四区国产精品| 日韩精品自拍偷拍| 久久在线91| 欧美另类视频| 国产伦精品一区二区三区免费迷 | 欧美jizzhd精品欧美巨大免费| 日本三级亚洲精品| 国产精品第五页| 日韩一级黄色片| 免费试看一区| 女生裸体视频一区二区三区| 久久99在线观看| 一区二区三区在线播放| 久久综合久久综合久久| 日本高清不卡aⅴ免费网站| 亚洲网友自拍| 波多野结衣一区二区三区 | 欧美日本在线看| 国产精品最新自拍| 欧美精品国产| 国产乱色国产精品免费视频| 亚洲国产精品久久久久秋霞影院| 国产无遮挡一区二区三区毛片日本| 欧美三区免费完整视频在线观看| 精品成人在线| 91香蕉视频在线| 国产一级精品在线| 天天色综合成人网| 中文字幕亚洲在| 26uuu欧美| 欧美午夜精品久久久久久孕妇| 亚洲人久久久| 午夜视频精品| 成人国产精品免费观看视频| 久久99久久精品欧美| 亚洲成人自拍偷拍| 亚洲欧美激情小说另类| 国产精品美女视频| 久久久久久久综合| 欧美成人性福生活免费看| 欧美日韩精品二区第二页| 一本一本大道香蕉久在线精品 | 欧美日韩一区二| 9色porny自拍视频一区二区| 国产一区二区调教| 麻豆精品视频在线| 日韩成人午夜电影| 婷婷夜色潮精品综合在线| 亚洲一区在线视频| 亚洲欧洲综合另类| 国产精品污www在线观看| 久久精品欧美一区二区三区不卡| 精品久久人人做人人爱| 欧美一区二区人人喊爽| 欧美日韩国产综合久久 | 欧美熟乱第一页| 久久一区精品| 校园春色综合网| 国产精品欧美久久| 9色精品在线| 99精品视频免费全部在线| 精品电影一区| 最近看过的日韩成人| 99成人在线| 99成人免费视频| 国产精品三上| 午夜影院日韩| 久久国产精品久久w女人spa| 国产一区二区高清不卡| 日韩亚洲视频| 国产精品一区二区a| 媚黑女一区二区| 91激情五月电影| 欧美日韩亚洲综合在线| 欧美日韩国产高清一区| 欧美日韩高清一区二区三区| 欧美精品亚洲二区| 日韩欧美在线不卡| 久久久久久**毛片大全| 国产精品无遮挡| 亚洲天堂av一区| 亚洲永久免费视频| 丝袜脚交一区二区| 日本aⅴ精品一区二区三区 | 国产成人精品影院| 成人黄色av电影| 色综合天天综合色综合av| 欧美成熟视频| 尤妮丝一区二区裸体视频| 国产亚洲精品久久久久婷婷瑜伽| 麻豆精品网站| 欧美日本一道本| 精品精品国产高清a毛片牛牛| 久久网这里都是精品| 国产精品麻豆网站|