| 
 | 
 
 楼主 |
发表于 2007-12-31 22:33:57
|
显示全部楼层
 
 
 
我在主线程main中ACE_Proactor::instance()->run_proactor_event_loop(); 
 
在handle_read_stream() 中将mb 放到一个task的消息队列中,  
 
在task自己的线程中不断从消息队列中取mb并处理,  
 
那么我怎么才能结束主线程呢? 
 
我又不想将ACE_Proactor的完成事件循环放到另外一个线程中,那样的话,主线程就不起作用了, 会降低效率的 
 
主线程main函数 
 
Accepte _Acceptor(&handler); //异步接收器, handler是一个ACE_Task主动对象 
  handler.activate();// 
 
 
  _Acceptor.open(ACE_INET_Addr(Port), 0,1,5,1 ,ACE_Proactor::instance(), 1, 1); 
 
  ACE_Proactor::instance()->proactor_run_event_loop(); |   
 
 
 
 |