看板 C_and_CPP 關於我們 聯絡資訊
→ sunneo:XD" 的確有糟糕的感覺 08/08 11:27 → sunneo:sleep不是暫停的訊號啊~~他是把current thread suspend 08/08 11:28 → sunneo:且會有個timer在時間到時把thread resume 08/08 11:29 我是參考下面資料,搞不清楚sleep到底真正行為是怎樣... 除了使用 delay 來達成同步的效果外,另一個錯誤發生在 sleep 系統呼叫;如同 exit 對 process 的影響一樣,當 thread 呼叫 sleep 時,講導致整個 process 停下 來。這表示所有屬於這個 process 的 thread 也將跟著停頓下來。因此在上面這個程 式中,呼叫 sleep 除了平白讓程式慢了20秒,並不會有什麼額外影響。另外一個適用 的函數是 pthread_delay_np (np 表示 not process)。舉例來說,要讓thread 停頓 兩秒鐘,可以用下列程式: http://gis.nchc.org.tw/lsi/Linux_Basic/discuss/look.asp?id=416&ADMIN=1 還有參考版上12114篇也是這種說法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.9.17 ※ 編輯: justinC 來自: 140.128.9.17 (08/08 13:43)
sunneo:ㄟ害 我這裡的reference在(3p)有兩個版本 08/08 14:21
sunneo:應該說有(3)跟(3p),一個是current process,一個是thread 08/08 14:22
sunneo:我在我的fedora core 5是得到thread停止的結果 08/08 14:23
sunneo:是在POSIX programmer's manual (p) 2003 updated的sleep 08/08 14:25