作者justinC (无)
看板C_and_CPP
标题Re: [问题] pthread问题
时间Sat Aug 8 13:38:26 2009
→ 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)
1F:推 sunneo:ㄟ害 我这里的reference在(3p)有两个版本 08/08 14:21
2F:→ sunneo:应该说有(3)跟(3p),一个是current process,一个是thread 08/08 14:22
3F:→ sunneo:我在我的fedora core 5是得到thread停止的结果 08/08 14:23
4F:→ sunneo:是在POSIX programmer's manual (p) 2003 updated的sleep 08/08 14:25