看板 C_and_CPP 關於我們 聯絡資訊
Linux 問題(Question): 最近在寫程式時,平常習慣無限回圈的程式會call一個usleep, 但是看到有同事是使用pthread_yield,查了一下man 看不太出來差別,想要問一下版上大大們有沒有人知道差別 或者兩者分別是怎麼 implement之類的? 補充說明(Supplement): <底下是我另外的問題 跟 Coding無關,如果有大大知道也麻煩回答一下,感恩> 最近在想一個問題 恐龍本的 Process State Machine 應該有五個 分別是 New, Ready(載入記憶體中), Run(搶到CPU), Block (I/O 或者被 OS 搶走CPU) , Terminated(Normal 結束 或是有異常發生) 今天如果有一個Thread搶到CPU之後再Call Sleep 那在他Sleep 的這段時間,Process的狀態會是 1. Ready 2. Run (還是佔住CPU,等時間到再繼續執行) 3. Block (先Blocked 住,等Timer結束之後再發一個Interrupt把他叫醒) 請問大家覺得比較是哪一種可能? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.23.188.78
lausai:1.http://ppt.cc/8KRm 2.block state 08/08 13:37
mingcloud:感謝大大回應 問一下Block就如我所想像等待interrupt嘛? 08/08 18:01