关于ace_task中wait函数一直没有返回一种解决方法(正解)
来源:互联网 发布:Java processstartinfo 编辑:程序博客网 时间:2024/05/18 20:12
关于ace_task中wait函数一直没有返回一种解决方法(正解)
在软件退出时调用wait(),但一直在这里等待未正常返回
问题分析:
1.因我们的源代码是用SVN管理的。回退到以前的一个版本时,未出现此问题。所以问题是于新近改的代码
2.比较后,发现下列代码
return this->activate();
改为了
return this->activate(THR_NEW_LWP | THR_JOINABLE | THR_INHERIT_SCHED,
ConfigManager::Instance()->get_HEARTBEAT_THREAD_COUNT());
原因是要支持多线程。这里的get_HEARTBEAT_THREAD_COUNT()就是指定有多少个工作线程
3.上述代码改回到原来的,wait()能正常返回
4.原因分析:每个工作线程都需要收到退出svc()函数的消息。
在软件退出时调用wait(),但一直在这里等待未正常返回
问题分析:
1.因我们的源代码是用SVN管理的。回退到以前的一个版本时,未出现此问题。所以问题是于新近改的代码
2.比较后,发现下列代码
return this->activate();
改为了
return this->activate(THR_NEW_LWP | THR_JOINABLE | THR_INHERIT_SCHED,
ConfigManager::Instance()->get_HEARTBEAT_THREAD_COUNT());
原因是要支持多线程。这里的get_HEARTBEAT_THREAD_COUNT()就是指定有多少个工作线程
3.上述代码改回到原来的,wait()能正常返回
4.原因分析:每个工作线程都需要收到退出svc()函数的消息。
5.解决方法:根据建立时的get_HEARTBEAT_THREAD_COUNT()给出的线程数,putq()多个退出svc()的消息,问题得到解决
(成海2013-12-04撰于上海)
- 关于ace_task中wait函数一直没有返回一种解决方法(正解)
- WORD Application.Documents.Open函数返回null的一种解决方法
- 关于SQL2008【没有返回结果集】的解决方法 .
- 关于ACE_Task::last_thread()
- wait函数返回值总结
- 关于VB调用Access的Rnd函数随机返回表中数据的解决方法
- 关于构造函数没有返回值的问题
- 关于构造函数没有返回值的问题
- Shell中函数的返回值的一种调用
- 以前一直没有注意的问题(不断更新中。。。)
- 函数没有返回
- 函数没有返回
- 关于MFC中显示OpenCV Mat矩阵中的图像(一种新的解决方法)
- 关于OPENCV中imwrite出错的一种可能及解决方法
- 表不存在,但是可以查询、删除(没有返回结果,一直hang住)
- noip胡测之8.15(没有正解)
- ACE_Task
- ACE_Task
- 设计模式之Prototype(c++)
- 改变vs2008代码字体大小
- Facebook搬运工 Extended Profile Properties
- 编程之美读书笔记:翻烙饼的问题
- Android环境变量的设置
- 关于ace_task中wait函数一直没有返回一种解决方法(正解)
- Windows8安装Visual Studio 2012的方法
- RainbowCrack:极具创新性的密码哈希破解器
- Jsp中的table多表头导出excel文件
- 关于MAX_PATH 这个变量名的由来
- ERP SYSTEM 开发平台搭建
- [noip2001普及(初中)组] 第二题《最大公约数和最小公倍数问题》解题报告
- 【discuzx3】管理员登录后直接自动退出的问题
- OpenCL结构