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

一秒一次郎 2012-06-27 12:17:09
小弟初接触多线程,想实现,

1、线程的数量保持在5,判断当前线程数量如果少于5个,就增加至5个

2、不确定某个线程可能会出现超时的情况,如果某线程超过1分钟还未执行完毕,则关闭该线程



小弟目前还没有想到实现的方法,请有经验的指点一下,如果能给出部分代码的就更感激不尽了,谢谢。
...全文
200 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
毛YU 2012-06-28
  • 打赏
  • 举报
回复
还在研究中
赵4老师 2012-06-27
  • 打赏
  • 举报
回复
《Windows核心编程》
super_admi 2012-06-27
  • 打赏
  • 举报
回复
1.这不是传说中的线程池吗?
2.这不是传说中的定时器吗?
大尾巴猫 2012-06-27
  • 打赏
  • 举报
回复
1、如果不是真的有需求,开多线程是浪费资源以及效率低下,线程之间的切换以及同步是很花时间的。
线程计数:
设置1个变量,每开1个线程之前检查是否超过5,没到5就++变量,然后开一个线程
线程返回之前把这个变量--。就可以了。

2、线程超过1分钟还未执行完毕,强行关闭会丢失数据。尽可能还是让线程函数自动返回。
如果你一定要设计对一个线程进行计时,可以设置一个计时器内核对象.线程开始运行的时候设置计时器在1分钟后触发。主线程等待这个信号,时间到了就强制关闭线程。

去看windows核心编程线程相关的章节。线程这部分不是很难。
0c0c0f 2012-06-27
  • 打赏
  • 举报
回复
1、线程的数量保持在5,判断当前线程数量如果少于5个,就增加至5个
定义一个计数器,如果小与5个线程增加到5个
2、不确定某个线程可能会出现超时的情况,如果某线程超过1分钟还未执行完毕,则关闭该线程
是否超时同样可以判断


一秒一次郎 2012-06-27
  • 打赏
  • 举报
回复
额,首先谢谢你给我指了条学习的路,如果我现在急需用的话,能不能先给指点些方法应急,谢谢[Quote=引用 1 楼 的回复:]
《Windows核心编程》
[/Quote]

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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