1酣倾、線程池中阻塞隊列的作用任洞?
一般的隊列只能保證作為一個有限長度的緩沖區(qū)舷礼,如果超出了緩沖長度州袒,就無法保留當前的任務了赎败,阻塞隊列通過阻塞可以保留住當前想要繼續(xù)入隊的任務迷雪。
阻塞隊列可以保證任務隊列中沒有任務時阻塞獲取任務的線程闯睹,使得線程進入wait狀態(tài)罩扇,釋放cpu資源剿干。
阻塞隊列自帶阻塞和喚醒功能蜂怎,不需要額外處理,無任務執(zhí)行時置尔,線程池利用阻塞隊列的take方法掛起派敷,從而維持核心線程的存活,不至于一直占用cpu資源
2撰洗、為什么先添加隊列篮愉,而不是先創(chuàng)建最大線程?
在創(chuàng)建新線程的時候差导,是要獲取全局鎖的试躏,這個時候其他的就得阻塞,影響了整體效率设褐。超過創(chuàng)建的最大線程數(shù)就會被線程池拒絕颠蕴。