关于线程需要sleep的问题

zdcju 2012-02-29 10:07:48
这个问题困扰很久了。。。。。。
createthread 创建一个线程之后

在线程函数里
while(1)
{
//里面有若干代码
}

如果我在while(1)里 sleep(1)那肯定没问题 但是 sleep(1)之后运行的肯定没那么快
如果 不sleep(1) 奇怪的事就出来了 同样的代码 如果不sleep(1) 让线程全速运行 在有的机子上运行没问题 在有的机子上运行就会卡死
求各位大神 帮帮忙!
...全文
161 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdg3707 2012-02-29
  • 打赏
  • 举报
回复
给每个线程设个合理的优先级
sevancheng 2012-02-29
  • 打赏
  • 举报
回复
不sleep 会一直占用CPU,别的线程得到很少的执行权,电脑就卡了
oyljerry 2012-02-29
  • 打赏
  • 举报
回复
不Sleep就可能造成线程一直占用CPU,从而是CPU得不到释放,而UI线程在另一个线程,如果得不到cpu,界面就会造成假死。如果有多核CPU,系统就可以把别的CPU给界面进行处理刷新
chenkuan9zl 2012-02-29
  • 打赏
  • 举报
回复
不sleep 的话就不会释放cpu时间了 在双核 4核上 还不会卡死 单核的话问题就大了 你可以用 sleep(0)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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