找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 5367|回复: 2

求助:handle_events导致event_loop线程终止

[复制链接]
发表于 2009-3-24 11:55:12 | 显示全部楼层 |阅读模式
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线程终止呢??多谢啦
发表于 2009-3-24 15:00:02 | 显示全部楼层
难以判断,请多提供点代码或者细节信息。
 楼主| 发表于 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的操作不正确...
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-23 16:13 , Processed in 0.013426 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表