1. 線程的生命周期開銷非常高
2. 消耗過多的 CPU資源如果可運行的線程數(shù)量多于可用處理器的數(shù)量,那么有線程將會被閑置。大量空閑的線程會占用許多內(nèi)存,給垃圾回收器帶來壓力,而且大量的線程在競爭 CPU資源時還將產(chǎn)生其他性能的開銷。
3. 降低穩(wěn)定性JVM在可創(chuàng)建線程的數(shù)量上存在一個限制,這個限制值將隨著平臺的不同而不同,并且承受著多個因素制約,包括 JVM 的啟動參數(shù)、Thread 構(gòu)造函數(shù)中請求棧的大小,以及底層操作系統(tǒng)對線程的限制等。如果破壞了這些限制,那么可能拋出OutOfMemoryError 異常。