读书人

多线程CPU占用率过高的有关问题

发布时间: 2013-04-20 19:43:01 作者: rapoo

多线程CPU占用率过高的问题
创建了两个线程,两个线程中都有while(1)循环来判断select是否满足条件,因为无限循环语句,CPU的占用率一直都很高。有没有说明方法可以降低CPU的占用率!!?!
[解决办法]
可以设个定时器,隔一段时间(如半秒)查询一次,其余时间sleep。
或者一直sleep,直到select满足条件唤醒sleep着的线程
[解决办法]
while里sleep();
[解决办法]
线程要sleep()

可以主线程一直检查,然后根据检测结果分别触发其他线程
[解决办法]


while(1)
{
if( select... )
{
//
}
else
{
Sleep(0);
}
}

[解决办法]
select 里面的时间设置不是也一样在睡觉??

读书人网 >C++

热点推荐