歡迎來到培訓無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網(wǎng) > 新聞資訊 > 電腦/IT > java培訓 >  Java學習小知識之線程池

Java學習小知識之線程池

來源:培訓無憂網(wǎng)-星星 發(fā)布人:星星

2021-11-11 09:29:17|已瀏覽:294次

Java培訓知識點:線程池詳解

1、線程池原理

       創(chuàng)建一個線程,需要一個Thread對象和一個Runable接口實例。每次都去new一個Thread對象是很耗費時間的,而且不好管

理。線程池就是為了復用已存在的Thread對象,防止不停地創(chuàng)建Thread對象帶來的性能損耗。

2、線程池流程
       流程總的說明

       線程池中會有一個HashSet,里面存放著Worker對象。這個Worker中會存有一個Thread對象,會使用這個thread執(zhí)行任務。

個Worker對象的多少代表著線程池的線程容量,每個Worker會從BlockingQueue中獲取你的Runnable實例任務,進行執(zhí)行,

沒有的話,會阻塞在那里,直到獲取到隊列中的任務。

      新建線程任務流程
      1、如果HashSet中的線程數(shù)量沒有達到核心線程數(shù)量,那么就會新創(chuàng)建一個Worker對象,直接執(zhí)行你的任務。

      2、如果HashSet中的線程數(shù)量已經(jīng)達到核心的線程大小并且任務隊列沒有滿,不再創(chuàng)建這個Worker對象,會將你的任務放

到隊列中。

      3、如果HashSet中的線程數(shù)量已經(jīng)達到核心的線程大小并且任務隊列滿了,那么就會創(chuàng)建Worker對象,直到達到最大線程

數(shù)量為止。

      4、如果HashSet中的線程數(shù)量已經(jīng)達到最大線程大小,新來的任務就會被拒掉。

      本文由培訓無憂網(wǎng)牛耳教育專屬課程顧問整理發(fā)布,更多課程資訊歡迎關注培訓無憂網(wǎng)Java培訓頻道或添加老師微信:150

3333605010

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://m.elsolbar.com/news-id-3589.html 違者必究!部分文章來源于網(wǎng)絡由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關資訊請關注java培訓頻道查看更多,了解相關專業(yè)課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機:

  • 地區(qū):

  • 想學什么:

  • 培訓無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!