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

全國切換

咨詢熱線 400-001-5729

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

Java學(xué)習(xí)小知識(shí)之線程池

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

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

Java培訓(xùn)知識(shí)點(diǎn):線程池詳解

1、線程池原理

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

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

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

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

個(gè)Worker對(duì)象的多少代表著線程池的線程容量,每個(gè)Worker會(huì)從BlockingQueue中獲取你的Runnable實(shí)例任務(wù),進(jìn)行執(zhí)行,

沒有的話,會(huì)阻塞在那里,直到獲取到隊(duì)列中的任務(wù)。

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

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

到隊(duì)列中。

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

數(shù)量為止。

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

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

3333605010

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

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

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

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