看板 C_and_CPP 關於我們 聯絡資訊
有兩個函數,在各別的線程中 BOOL locked = FALSE; int KeepDo(void) { : while(onThread) { locked = TRUE; /* do some thing; */ locked = FALSE; : } : }/*Keep Do*/ int CalledByExtern(void) { flag = o; wait ( FALSE ==locked); return flag; } 藍色的地方就是我的問題所在,這裡要怎寫比較好呢? 當然locked不一定要用bool型態。 用sleep去睡 這很難調每次要睡多久,且這有硬體特性相依的問題。 有沒高手能給建意的呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.143.194
stupid0319:event WaitForSingleObject? 11/20 21:34
james732:用 Mutex 或 Semaphore 之類的...? 11/20 21:34
DrStein:Mutex 或 Semaphore可以給個例嗎? 謝謝 11/20 21:37
DrStein:謝謝兩位喔 11/20 21:38
james732:google找找看吧 11/20 21:39
ljhgc:初始event 11/20 23:05
ljhgc:HANDLE hEvent=CreateEvent( NULL, false, false, NULL ); 11/20 23:06
ljhgc:SetEvent(hEvent); //設為未lock狀態 11/20 23:07
ljhgc:WaitForMultipleObjects(1,&hEvent,false,INFINITE); //無 11/20 23:09
ljhgc:限等待hEvent被unlock,一旦等到hEvent被unlock,就立刻把 11/20 23:11
ljhgc:hEvent設成lock狀態 11/20 23:11
DrStein:謝謝ljhgc :) 11/21 13:43