[問題] 加入thread之後, 變的相當緩慢

看板C_and_CPP (C/C++)作者時間16年前 (2009/03/25 18:27), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/2 (看更多)
有一個程式, 原本是希望能邊讓畫面上的物件邊走邊聽到語音, 但是以下的程式一執行起來, 整個畫面跟幾乎不能動一樣, 物件行動的極其緩慢, 語音就更不用說了. 裡面用了最簡單的_beginthread(), 程式裡的兩個while是 必需的, 請問有辦法改善嗎? 謝謝 bool repeat = true; void keyboard( void* parm ) { mKeyboard->capture(); if( mKeyboard->isKeyDown( A_DOWN ) ) { ..... } } void sound( void* parm ) { while( repeat ) { mRoot->checkIncomingMsg(); } _endthread(); } int main() { while( 1 ) { _beginthread( keyboard, 0, NULL ); _beginthread( sound, 0, NULL ); } return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.110.117.10

03/25 18:29, , 1F
裡面都是 busy loop,沒有等待嗎?
03/25 18:29, 1F

03/25 18:37, , 2F
你需要的是讓它們不要那麼忙
03/25 18:37, 2F
文章代碼(AID): #19oWSHR- (C_and_CPP)
文章代碼(AID): #19oWSHR- (C_and_CPP)