现在情况是,主线程会不时的创建子线程,有些子线程很快退出,有的会运行一段时间再退出,有的会一直运行,只有主线程通知后才会退出。无法事先预知到主线程会创建多少个、什么样的线程。
.
主线程退出之前会发出通知,其余还在运行的线程接到通知后会自行退出。现在,主线程需等待其余线程安全退出,怎么办?
.
最容易想到的办法是,主线程CreateThread后,将返回的句柄加入一个列表。主线程终止之前,挨个对列表中的句柄WaitForSingleObject。问题是,这样做的话CreateThread返回的句柄在程序运行的时候会一直存在无法释放,程序长时间运行后句柄越来越多,可以视作内核对象泄漏。如何解决这个问题?
主线程退出前等待多个子线程终止的一些问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 伪码匠 2016-07-21 04:44关注
1.简单的线程池模型。
2.线程a负责创建线程,线程b负责监测线程状态,a和b共享一个句柄列表。
3.线程b在检测到线程退出后释放句柄。
4.主线程在退出时,向线程b查看状态,状态全部返回则退出,否则等待。
5.状态通信可以用变量、信号、事件等。
6.TODO你的。。。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如果要做一个老年人平板有哪些需求
- ¥15 k8s生产配置推荐配置及部署方案
- ¥15 matlab提取运动物体的坐标
- ¥15 人大金仓下载,有人知道怎么解决吗
- ¥15 一个小问题,本人刚入门,哪位可以help
- ¥15 python安卓开发
- ¥15 使用R语言GD包一直不出结果
- ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
- ¥15 如何根据一个截图编写对应的HTML代码
- ¥15 stm32标准库的PID角度环