社区
进程/线程/DLL
帖子详情
QueueUserWorkItem启动的线程池如何在关闭时等待所有线程安全退出?
AutoWalk
2010-12-26 08:12:01
QueueUserWorkItem使用非常简单,但是当程序要关闭时,如何才能保证线程池中已经没有线程正在工作.
我考虑了每个工作线程开始工作是用一个事件对象或者其他计数器之类的,但这很浪费效率,而且也不是百分百保险,有没有其他更完美的解决方案?
...全文
282
5
打赏
收藏
QueueUserWorkItem启动的线程池如何在关闭时等待所有线程安全退出?
QueueUserWorkItem使用非常简单,但是当程序要关闭时,如何才能保证线程池中已经没有线程正在工作. 我考虑了每个工作线程开始工作是用一个事件对象或者其他计数器之类的,但这很浪费效率,而且也不是百分百保险,有没有其他更完美的解决方案?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Yao-debo
2011-01-11
打赏
举报
回复
这种情况下, 是必须要自己处理的;
"我考虑了每个工作线程开始工作是用一个事件对象或者其他计数器之类的,但这很浪费效率,而且也不是百分百保险"--- , 就使用事件对象, 怎么不保险, 要线程同步, 浪费是不能避免的.
AutoWalk
2010-12-26
打赏
举报
回复
QueueUserWorkItem创建的线程,没有返回线程句柄的.
arong1234
2010-12-26
打赏
举报
回复
你必须记录每个线程的句柄,然后再退出前用WaitForMultipleObjects来等待他们退出
python
等待
所有线程结束_
线程池
如何
等待
所有线程执行结束
internal sealed class AClass{public int Method(int num){Thread.Sleep(1000);return num * num;}public void UsingCallback(int numToDo){int[] squares = new int[numToDo];AutoResetEvent done = new AutoRese...
线程池
强制终止的解决方案
在控制软件的开发过程中,有可能会出现强力终止程序的情况,但是你又使用了
线程池
,无法跳出程序,因为如果出现异常之后,多运行一行代码就可能会造成设备的损坏,但是不使用
线程池
的话又会造成系统性能降低。可是
线程池
本身不提供强制
退出
,只能通过IsCancellationRequrest
退出
线程,虽然强制
退出
可能造成其他问题,但是在控制软件中非常实用。这里提供一种使用线程和
线程池
结合的方法,通过强制
退出
线程来终止
线程池
的执行。 说白了就是把
线程池
嵌入到线程中使用,如果需要暴力终止,就直接调用线程的...
C#.Net使用
线程池
(ThreadPool)与专用线程(Thread)
线程池
(ThreadPool)使用起来很简单,但它有一些限制:1.
线程池
中所有线程都是后台线程,如果进程的所有前台线程都结束了,所有的后台线程就会停止。不能把入池的线程改为前台线 程。2. 不能给入池的线程设置优先级或名称。3. 对于COM对象,入池的所有线程都是多线程单元(Multi-threaded apartment,MTA)线程。许多COM对象都需要单线程单元(Single ...
线程池
线程池
是工作线程的集合,可以代表应用程序有效地执行异步回调。
线程池
主要用于减少应用程序线程的数量并提供工作线程的管理。应用程序可以对工作项进行排队,将工作与可
等待
的句柄相关联,根据计
时
器自动排队,并与I / O绑定。
线程池
体系结构 以下应用程序可以从使用
线程池
中受益: 1. 高度并行的应用程序,可以异步分派大量小工作项(例如分布式索引搜索或网络I / O)。 2. 一个创建和销毁大量线程...
C#多线程
等待
所有子线程结束的示例
在使用多线程过程中,可能会遇到在一些情况下必须
等待
子线程全部执行结束后主线程才进行下一步, 做法如下: //在使用多线程过程中,可能会遇到在一些情况下必须
等待
子线程全部执行结束后主线程才进行下一步,做法如下 List<ManualResetEvent> manualEvents = new List<ManualResetEvent>();//创建线程
等待
集合 for (int i = 0; i < 64; i++) //WaitHandles 的数目必须少
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章