dustfly207 发表于 2009-3-24 11:55:12

求助:handle_events导致event_loop线程终止

static ACE_THR_FUNC_RETURN event_loop(void *arg)
{
SetThreadPriority((HANDLE)threadID,THREAD_PRIORITY_HIGHEST);
int retval = 0;
ACE_Reactor *reactor = ACE_static_cast(ACE_Reactor*, arg);
reactor->owner(ACE_OS::thr_self());
while (true)
{
ACE_Time_Value tv(2, 0);
retval = reactor->handle_events(&tv);
   }
}

用icesword查看发现该线程状态已经变成stateTerminated,Reactor采用的是TP_Reactor,不知什么原因可能导致event_loop线程终止呢??多谢啦

winston 发表于 2009-3-24 15:00:02

难以判断,请多提供点代码或者细节信息。

dustfly207 发表于 2009-3-24 16:10:33

像这样创建线程池 ACE_Thread_Manager::instance()->spawn_n(opt_TPThreadNum, event_loop, ACE_Reactor::instance());
其他参数采用缺省值,有没有可能ACE内部由于某些原因由ACE_Thread_Manager终止掉由其创建的某些线程呢?比如说由于某些handle_xxxx的操作不正确...
页: [1]
查看完整版本: 求助:handle_events导致event_loop线程终止