peakzhang 发表于 2008-7-13 22:45:20

使用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()呢?希望有高手给指点一下,谢谢。

peakzhang 发表于 2008-7-13 22:45:25

用proactor_run_event_loop 试试。
页: [1]
查看完整版本: 使用Proactor构建服务器的CPU占满的问题