C 11 中的執行緒池
問題: 重複建立和刪除執行緒的成本很高。我們如何建立一個持久的執行緒池來處理任務而不產生這種開銷?
解決方案:
實作ThreadPool 類別
為了建立一個高效率的執行緒池,我們先定義ThreadPool類別:
1。 ThreadPool::Start:
依照系統能力建立固定數量的執行緒:
2。 ThreadPool::ThreadLoop:
等待新任務的無限循環:
3. ThreadPool::QueueJob:
為池中新增任務:
4. ThreadPool::busy:
檢查池中是否有活動作業:
5. ThreadPool::Stop:
優雅地停止執行緒池:
用法:
此實作了一個動態的執行緒池,執行緒持續運行並等待新增任務。
以上是如何在C 11中高效實現執行緒池以避免重複的執行緒建立和刪除開銷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!