2021-11-11 09:29:17|已瀏覽:290次
1、線程池原理
創建一個線程,需要一個Thread對象和一個Runable接口實例。每次都去new一個Thread對象是很耗費時間的,而且不好管
理。線程池就是為了復用已存在的Thread對象,防止不停地創建Thread對象帶來的性能損耗。
2、線程池流程線程池中會有一個HashSet,里面存放著Worker對象。這個Worker中會存有一個Thread對象,會使用這個thread執行任務。
這個Worker對象的多少代表著線程池的線程容量,每個Worker會從BlockingQueue中獲取你的Runnable實例任務,進行執行,
沒有的話,會阻塞在那里,直到獲取到隊列中的任務。
新建線程任務流程2、如果HashSet中的線程數量已經達到核心的線程大小并且任務隊列沒有滿,不再創建這個Worker對象,會將你的任務放
到隊列中。
3、如果HashSet中的線程數量已經達到核心的線程大小并且任務隊列滿了,那么就會創建Worker對象,直到達到最大線程
數量為止。
4、如果HashSet中的線程數量已經達到最大線程大小,新來的任務就會被拒掉。
本文由培訓無憂網牛耳教育專屬課程顧問整理發布,更多課程資訊歡迎關注培訓無憂網Java培訓頻道或添加老師微信:150
3333605010
注:尊重原創文章,轉載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-3589.html 違者必究!部分文章來源于網絡由培訓無憂網編輯部人員整理發布,內容真實性請自行核實或聯系我們,了解更多相關資訊請關注java培訓頻道查看更多,了解相關專業課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050