贝贝花花包包店,精品555皮具,钱夹,皮夹

字体:  

使用Proactor构建服务器的CPU占满的问题

peakzhang 发表于: 2008-7-13 22:45 来源: ACE 开发者

我使用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 at 2008-7-13 22:45:25
用proactor_run_event_loop 试试。