看板 C_and_CPP 關於我們 聯絡資訊
※ [本文轉錄自 Programming 看板] 作者: littleboypis (littleboypis) 看板: Programming 標題: [問題] Thread Pool/Queue的設計方式 時間: Tue Mar 24 10:47:48 2009 各位好 最近想用C實作出一個Thread Pool or Thread Queue 但是有一個問題 要怎麼Pool中的Thread可以不用一直while() { sleep } 也可以保持在可隨時執行的狀態呢 如果說我要讓Thread不會被 return & pthread_exit 就得要用while包住 如下 ThreadCodeBody { while(1) { if( hasTask ) runThread( TaskFunc ) else if ( noTask ) sleep( 1 ); } } Thread的程式可能就會像上頭這樣 但是這有個問題就是 如果沒有工作時他就得不斷的Sleep個幾秒 然後醒來檢查看有沒有Task進來 這樣感覺很沒效率 所以想請教各位 是不是有什麼樣的方式 可以讓Thread不工作的時候可以直接WAIT 然後有工作進來時就可以直接執行 而不需不斷的Sleep and Wake Up 另外,想請問大家 有沒有比較推薦效能比較好的Thread Pool or Thread Queue(用C寫的)的Library 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.238 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.238
hpeter:用 poll or select 等待時間設無限大?? 03/24 18:57