多线程调用sleep 问题

wang_qiao_ying 2014-12-09 09:18:31

大家好,现在遇到一个多线程调用sleep问题,就是在创建了多个线程,共用了一个thread_loop线程函数,但线程函数中用到了一个sleep(n)的延时操作,感觉这样用有问题,sleep会被线程间互相覆盖,请问还会有什么其他的办法可以避免这种情况,求高人指点。。。
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_qiao_ying 2014-12-09
  • 打赏
  • 举报
回复
多谢指点,看来线程里用sleep不合适,我想其他办法吧,谢啦!!
  • 打赏
  • 举报
回复
引用 2 楼 wang_qiao_ying 的回复:
我每个线程工作一次都要sleep(60)的,楼上的意思是不是用mutex锁住sleep实现互斥,这样效率也太低了。难道非得每个线程有独立的线程函数吗,这样做感觉也不合适的.
pthread doesn't offer a sleep function. Instead, you will have to implement "sleep" using mutex, barrier or semaphore. period! If you are not comfortable with it, then don't use pthread. sleep will work if you do fork
wang_qiao_ying 2014-12-09
  • 打赏
  • 举报
回复
我每个线程工作一次都要sleep(60)的,楼上的意思是不是用mutex锁住sleep实现互斥,这样效率也太低了。难道非得每个线程有独立的线程函数吗,这样做感觉也不合适的.
  • 打赏
  • 举报
回复
he sleep() function shall cause the calling thread to be suspended from execution... what you probably need is a mean to sync the execution among threads... Barrier Mutex Semaphore

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧