我已經在Java中創建線程池與40現有線程創建使用新的Thread()一個新的線程。開始()
核心池大小假設目前它只有10個線程。如果屬於這個線程池的線程之一創建了一些新的線程,它們將只是這個線程池的一部分,還是它們是獨立的?
我已經在Java中創建線程池與40現有線程創建使用新的Thread()一個新的線程。開始()
核心池大小假設目前它只有10個線程。如果屬於這個線程池的線程之一創建了一些新的線程,它們將只是這個線程池的一部分,還是它們是獨立的?
新創建的線程不應該是其中的一部分。如果您正在通過執行程序服務使用ThreadPool,則必須提交即使子線程成爲此執行程序服務的ThreadPool的一部分。
您的簡短回答是否,從提交給線程池的任務生成的額外線程將不會計入池容量的一部分,因爲您沒有明確提交或要求線程池啓動它。
換句話說,池沒有跟蹤該衍生線程的運行狀態。程序員正在創建線程實例並啓動它。
此外,對於Java線程池,容量大約是在特定時間點上運行任務數量,任務是RUNNABLE
或CALLABLE
讓你隨時可以提交超過池 - 容量任務到池但不要求在任何時間點運行比容量更多的任務。