多线程数量及超时控制的问题

一秒一次郎 2012-06-26 05:17:36
小弟初接触多线程,想实现, 1、线程的数量保持在5,判断当前线程数量如果少于5个,就增加至5个 2、不确定某个线程可能会出现超时的情况,如果某线程超过1分钟还未执行完毕,则关闭该线程



小弟目前还没有想到实现的方法,请有经验的指点一下,如果能给出部分代码的就更感激不尽了,谢谢。
...全文
260 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MingoJ 2012-06-28
  • 打赏
  • 举报
回复
1.线程数量问题, 你启动线程时,能获得线程指针,自己管理好线程指针就可以了,线程关闭了指针为NULL,不为NULL的表明怎么运行
2.超时问题,每个线程定义一个CTime量,实时更新。然后在父线程中轮询,通过比较时间的方法就知道是否超时
zoulie 2012-06-27
  • 打赏
  • 举报
回复
线程池的话每个任务要求是不能阻塞的就行了,类似于操作系统调度任务时间片加轮循
一秒一次郎 2012-06-27
  • 打赏
  • 举报
回复
谢谢指点,要是能给出部分代码就更感谢了

[Quote=引用 5 楼 的回复:]
建立一个数据结构链表 用来统计线程数量和线程状态的 新建一个系统线程 主要用来控制前面的数据结构 轮询检查结构的情况 如果发现线程数结构错误 那么就尝试强行终止并初始化结构赋予一个新线程启动 就说到这 自己去思考
[/Quote]
safeqq2 2012-06-27
  • 打赏
  • 举报
回复
建立一个数据结构链表 用来统计线程数量和线程状态的 新建一个系统线程 主要用来控制前面的数据结构 轮询检查结构的情况 如果发现线程数结构错误 那么就尝试强行终止并初始化结构赋予一个新线程启动 就说到这 自己去思考
zgklem 2012-06-27
  • 打赏
  • 举报
回复
用一个定时器,隔一段时间给主线程发一个消息,要求其判断所有线程的运行时间!
ouyh12345 2012-06-27
  • 打赏
  • 举报
回复
超时的部分,得记录每个线程启动的时间,然后轮询
不过这样的话,时间上不会很精确,而且很耗cpu
一秒一次郎 2012-06-26
  • 打赏
  • 举报
回复
那超时的部分呢?
ouyh12345 2012-06-26
  • 打赏
  • 举报
回复
1、判断线程状态:GetExitCodeThread

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧