线程管理 问题

tomatobin 2013-06-25 08:57:18
如题:
多线程菜鸟,在Button里创建了一个线程,CreateThread();那每次按钮时都会创建,假如主程序退出了,如何能保证创建的线程也终止?
...全文
122 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
你怎么了熊吉 2013-06-26
  • 打赏
  • 举报
回复
这个按钮是做什么的,你就不能让它做完该做的事就结束线程吗?
漫步者、 2013-06-26
  • 打赏
  • 举报
回复
waitformultipleobjects()判断是否全部安全退出
onlyhuiyi 2013-06-26
  • 打赏
  • 举报
回复
全局变量 开始work = true 线程运行函数:

while(work){
    
}
程序退出work = false;
不会上网 2013-06-26
  • 打赏
  • 举报
回复
引用 4 楼 lm_whales 的回复:
1)并行运行,按一次按钮,生成一个线程,所有线程之间是无关的,各运行各的。 2)一次只运行一个线程,运行完成,才可以创建新线程; 或者创建时后按钮失效,线程结束,按钮重新有效。 3)排队处理,最多N线程。否则不创建线程; 或者按钮失效,线程个数小于N,按钮重新有效。
++
lm_whales 2013-06-26
  • 打赏
  • 举报
回复
1)并行运行,按一次按钮,生成一个线程,所有线程之间是无关的,各运行各的。 2)一次只运行一个线程,运行完成,才可以创建新线程; 或者创建时后按钮失效,线程结束,按钮重新有效。 3)排队处理,最多N线程。否则不创建线程; 或者按钮失效,线程个数小于N,按钮重新有效。
一叶之舟 2013-06-26
  • 打赏
  • 举报
回复
主线程退出前用waitformultipleobjects等待所有的子线程退出。
tomatobin 2013-06-25
  • 打赏
  • 举报
回复
假如我第一次按刷新按钮,创建了一个线程,过一段时间,再按刷新,上一个线程还没有线束,这又创建了??不懂怎么处理
短歌如风 2013-06-25
  • 打赏
  • 举报
回复
进程结束,则所属全部线程必然终止,这是操作系统保证的。

64,282

社区成员

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

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