使用Proactor构建服务器的CPU占满的问题
我使用Proactor分别构建了TCP和UDP的服务器,但是每次一启动,CPU就会占用100%. 我的程序很简单:int ACE_TMAIN(int argc, char *argv[])
{
int iPort = 8880;
ACE_Asynch_Acceptor<TCPServer> oTCPAcceptor;
if (oTCPAcceptor.open (ACE_INET_Addr(iPort)) == -1)
{
return -1;
}
ACE_Time_Value oTime(5);
while(true)
{
ACE_Proactor::instance ()->handle_events (oTime);
}
return 0;
}
TCPServer从ACE_Service_Handler继承而来,重载了open()和handle_read_stream()函数。
是不是在main()里面的while()循环中需要sleep()呢?希望有高手给指点一下,谢谢。 用proactor_run_event_loop 试试。
页:
[1]