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