社区
C#
帖子详情
ThreadPool内的线程能不能再另开非池内的线程?
chnking
2009-05-11 03:59:29
如题
...全文
181
10
打赏
收藏
ThreadPool内的线程能不能再另开非池内的线程?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
llsen
2009-05-11
打赏
举报
回复
up
pathuang68
2009-05-11
打赏
举报
回复
[Quote=引用 2 楼 hikaliv 的回复:]
可以……但不安全,可能会无限挂起。
[/Quote]
支持这种说法,最好不要那样做。
wuyq11
2009-05-11
打赏
举报
回复
public class ThreadBase
{
public static void Main ( ) {
System.Threading.WaitCallback waitCallback = new WaitCallback ( MyThreadWork );
ThreadPool.QueueUserWorkItem ( waitCallback, "第一个线程" );
ThreadPool.QueueUserWorkItem ( waitCallback, "第二个线程" );
ThreadPool.QueueUserWorkItem ( waitCallback, "第三个线程" );
ThreadPool.QueueUserWorkItem ( waitCallback, "第四个线程" );
Console.ReadLine ( );
}
public static void MyThreadWork ( object state ) {
Console.WriteLine ( "线程现在开始启动…… {0}",(string)state );
Thread.Sleep ( 10000 );
Console.WriteLine ( "运行结束…… {0}",( string ) state );
}
}
测试看看
Neil198
2009-05-11
打赏
举报
回复
mark
zzxap
2009-05-11
打赏
举报
回复
测试一下就知道
dfgdfytsertegdsfjhky
2009-05-11
打赏
举报
回复
[Quote=引用楼主 chnking 的帖子:]
如题
[/Quote]/*
插入测试数据
userid reason money updatetime
1000 1 100 2003-01-01 11:00:00.000
1000 1 200 2003-01-31 13:23:00.000
1000 1 -50 2003-02-01 23:59:59.000
1000 1 -50 2003-03-01 00:00:00.000
*/
蓝海D鱼
2009-05-11
打赏
举报
回复
[Quote=引用 3 楼 blestcc 的回复:]
可以。
[/Quote]依据?
blestcc
2009-05-11
打赏
举报
回复
可以。
光宇广贞
2009-05-11
打赏
举报
回复
可以……但不安全,可能会无限挂起。
gomoku
2009-05-11
打赏
举报
回复
为什么不可以呢?
一个试验就知道了。
C#
ThreadPool
线程
池
CLR
线程
池并不会在CLR初始化时立即建立
线程
,而是在应用程序要创建
线程
来运行任务时,
线程
池才初始化一个
线程
。
线程
池初始化时是没有
线程
的,
线程
池里的
线程
的初始化与其他
线程
一样,但是在完成任务以后,该
线程
不会自行销毁,而是以挂起的状态返回到
线程
池。直到应用程序再次向
线程
池发出请求时,
线程
池里挂起的
线程
就会再度激活执行任务。 这样既节省了建立
线程
所造成的性能损耗,也可以让多个任务反复重用同一
线程
,从而在应用程序生存期内节约大量开销。 通过CLR
线程
池所建立的
线程
总是默认为后台
线程
,优先级数为ThreadPr
C#
Threadpool
线程
池
CLR
线程
池并不会在CLR初始化时立即建立
线程
,而是在应用程序要创建
线程
来运行任务时,
线程
池才初始化一个
线程
。
线程
池初始化时是没有
线程
的,
线程
池里的
线程
的初始化与其他
线程
一样,但是在完成任务以后,该
线程
不会自行销毁,而是以挂起的状态返回到
线程
池。直到应用程序再次向
线程
池发出请求时,
线程
池里挂起的
线程
就会再度激活执行任务。 这样既节省了建立
线程
所造成的性能损耗,也可以让多个任务反复重用同一
线程
,从而在应用程序生存期内节约大量开销。 通过CLR
线程
池所建立的
线程
总是默认为后台
线程
,优先级数为ThreadPr
多
线程
编程(3):
线程
池
ThreadPool
在面向对象编程中,经常会面对创建对象和销毁对象的情况,如果不正确处理的话,在短时间内创建大量对象然后执行简单处理之后又要销毁这些刚刚建立的对象,这是一个非常消耗性能的低效行为,所以很多面向对象语言中在内部使用对象池来处理这种情况,以提高性能,比如在ADO.NET内部就允许使用数据库连接池来提高性能,在JDBC中没有提供数据库连接池,一些开发人员为了提高效率就自己编写数据库连接池来提高性能,当然据我
C#多
线程
编程(3)-
线程
池
ThreadPool
在面向对象编程中,经常会面对创建对象和销毁对象的情况,如果不正确处理的话,在短时间内创建大量对象然后执行简单处理之后又要销毁这些刚刚建立的对象,这是一个非常消耗性能的低效行为,所以很多面向对象语言中在内部使用对象池来处理这种情况,以提高性能,比如在ADO.NET内部就允许使用数据库连接池来提高性能,在JDBC中没有提供数据库连接池,一些开发人员为了提高效率就自己编写数据库连接池来提高性能,当然
多
线程
编程(3):
线程
池
ThreadPool
.
多
线程
编程(3):
线程
池
ThreadPool
分类: C#基础 2010-01-11 20:59 7247人阅读 评论(12) 收藏 举报 在面向对象编程中,经常会面对创建对象和销毁对象的情况,如果不正确处理的话,在短时间内创建大量对象然后执行简单处理之后又要销毁这些刚刚建立的对象,这是一个非常消耗性能的低效行为,所以很多面向对象语言中在内部使用对象池来处理这种情况,以提
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章