我正在嘗試爲遊戲引擎創建一個線程池,我一直在考慮我的系統應該如何對第三方庫產生自己的線程做出反應。等待的線程是否會吃掉CPU時間?
從我讀過的內容來看,理想的情況是每個你有權訪問的CPU只有一個線程。因此,如果我的第三方物理更新產生四個線程,那麼在運行時關閉線程池中的四個線程,然後再打開它們是理想的,這樣多個線程永遠不會爭奪一個CPU。
我的問題是關於像條件變量的功能背後的基本機制。由於產卵線程很昂貴,因此有四個線程等待一個條件變量,然後在物理完成時通知他們,這似乎比連接四個線程並在之後重新產生它們更好。但是如果他們在等待一個變量,這些線程是否真的「睡着了」,還是在後臺爭奪CPU資源?
你在編程什麼語言? –