作者pilipalabon (說好的性福呢?)
看板C_and_CPP
標題[問題] polling 變數的其他選擇
時間Mon Nov 23 17:49:25 2009
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
目前我要polling一個變數,
while (1)
{ if (val != lastVal)
...
sleep(1);
}
請問有甚麼方法可以讓polling變數的方法變成 block的方式呢?
就是當變數已經改變了, 才去做if內的事情?
就是類似select這樣的做法?
謝謝!
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
motavista (linux based)
gcc4
有問題的code: (請善用置底文標色功能)
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.11.35
→ james732:wait_event_interrupt 函式?不過這好像是kernel space的 11/23 17:51
→ james732:wait_event_interruptible <- 正確名稱 11/23 17:52
推 ckclark:用signal如何 11/23 17:53
→ tinlans:pthread_cond_wait() 和 pthread_cond_signal() 11/24 03:20