如何在使用while(1)循环时达到100%时减少CPU使用率

Ays*_*yse 2 c windows winapi while-loop visual-studio-2008

我正在研究UDP服务器/多客户端应用程序.

有多个线程处理多个客户端.

有一个单独的线程继续向每个活动客户端发送KEEPALIVE消息.由于此线程在while(1)中,因此CPU使用率达到100%.

由于我希望继续使用此功能,因此我使用了while(1)线程.我也尝试在每次执行时添加一个睡眠,但我不认为sleep()释放CPU.有没有办法可以减少特定时间的CPU使用率.例如,在单次执行while之后,我可以将CPU释放10秒,然后继续回到while.

请帮我.非常感谢提前.

Voi*_*ter 5

sleep - 暂停执行当前线程,直到超时间隔结束.并将处理器提供给准备运行的其他线程.

来源:http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298(v = vs.85).aspx

所以,只sleep需要你所需要的一切.