社区
C#
帖子详情
请问怎样清空ThreadPool中的所有线程?
number321
2012-05-28 02:16:41
当我使用 ThreadPool.QueueUserWorkItem 将操作加入到线程池中时,如果在正常情况下,等到线程池队列中的线程全部执行完后,可以再次使用它。
但如果当ThreadPool中有线程正在执行时,我想强行中断它,并且还要在下一次使用它,应该怎样操作呢。
怎样把ThreadPool中的线程清空,将它重置为一个空的线程池?
...全文
1099
5
打赏
收藏
请问怎样清空ThreadPool中的所有线程?
当我使用 ThreadPool.QueueUserWorkItem 将操作加入到线程池中时,如果在正常情况下,等到线程池队列中的线程全部执行完后,可以再次使用它。 但如果当ThreadPool中有线程正在执行时,我想强行中断它,并且还要在下一次使用它,应该怎样操作呢。 怎样把ThreadPool中的线程清空,将它重置为一个空的线程池?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qldsrx
2012-05-28
打赏
举报
回复
线程池本身就是不能控制的,你要精确控制线程就必须自定义线程数组。
happyrain2010
2012-05-28
打赏
举报
回复
直接用线程做就行了呗
蔡袅
2012-05-28
打赏
举报
回复
线程池线程怎么能清空呢?那还叫线程池么?
线程池交由CLR管理,“多退少补”,“前赴后继”,“开源节流”,总是会维持最佳的平衡,
不管怎样不能小于你处理器的数目
线程池有个最少工作线程,最多工作线程,还有自由线程,这些设置都只能给定个活跃数范围,绝不能清空
假设能清空,线程池马上补上
倒是连接池可以清空,毕竟是可以手动管理:
SqlConnection.ClearAllPools();
Soloboy1020
2012-05-28
打赏
举报
回复
用第三方的线程池吧,或者自己写一个
系统的线程池很多模块都会用到,并不一定是你显示调用ThreadPool.QueueUserWorkItem才会使用到的
sd1232123
2012-05-28
打赏
举报
回复
这个好像是不行,你可以用一个成熟的线程池,smartpool 开源的。。你想的到的功能都封装好了
ThreadPool
UML图
-
ThreadPool
:表示整个
线程
池对象,它负责管理所有
线程
和任务队列。 - TaskQueue:任务队列类,负责存放待执行的任务。 - WorkerThread:工作
线程
类,表示
线程
池
中
的单个
线程
,它负责从任务队列
中
取出任务并执行。 ...
ThreadPool
:Linux
中
的
ThreadPool
在Linux操作系统
中
,
线程
池(
ThreadPool
)是一种有效的资源管理策略,它允许程序预先创建一组
线程
,并在需要时重复利用这些
线程
来执行任务,而不是每次需要时都创建新的
线程
。
线程
池可以提高系统的效率,减少
线程
...
threadPool
.rar
停止服务时,需要确保所有工作
线程
安全退出,同时
清空
任务队列。 在Windows和Linux系统上,
线程
的创建和管理有所不同。在Windows下,可以使用`CreateThread` API,而在Linux下,可以使用`pthread_create`。但C++11...
线程
池源码
7. **
线程
池的销毁**:当
线程
池不再需要时,应释放所有资源,包括销毁
线程
和
清空
任务队列。 在实际使用
中
,开发者可以调用
线程
池API来提交任务,例如`
threadpool
_add_task`函数。
线程
池会负责分配合适的
线程
执行...
Threadpool
轻量型 基于 pthread 实现的简单
线程
池 C语言
这通常涉及等待所有
线程
结束,然后销毁
线程
池结构和
清空
任务队列。 7. **性能优化**:
线程
池的设计要考虑如何平衡
线程
数量和系统负载,以避免过多的上下文切换带来的性能损失。此外,
线程
池的调度策略也很关键,...
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章