C#线程池的问题
小弟对线程有一定的认识和了解。当某一程序中线程开辟到某一程度时对机器会产生一定的压力。这个时候用线程池最好不过。可是我对线程池一无所解。希望各位能够给予解答和帮助。问题一...
小弟对线程有一定的认识和了解。
当某一程序中线程开辟到某一程度时 对机器会产生一定的压力。 这个时候用线程池最好不过。
可是 我对线程池 一无所解。希望各位能够给予解答和帮助。
问题一:线程池的用法;当线程池中的某线程执行业务结束后,它在线程池或程序中 此时处于一个什么样的状态,是关掉了?还是暂时挂起了?能不能重复调用这个线程?
问题二:在主函数中写一个循环
object a=1;
for (int i = 0; i < 500; i++)
{
a = "线程"+i;
ThreadPool.QueueUserWorkItem(ThreadMethod,a);
}
这个该怎么理解? 是创建了500个线程到线程池中?还是 创建了500个线程池?
问题三:在我的意识里,是创建一条线程。然后把它加入到线程池中。 请问这样想是否正确?若正确。该怎么添加?添加后该怎么管理?
由于小弟是初涉线程池,请各位高手,能够给予解答。指点迷经。谢谢。若答案是从百度上粘的 就算了。我想听听你对线程池的见解; 展开
当某一程序中线程开辟到某一程度时 对机器会产生一定的压力。 这个时候用线程池最好不过。
可是 我对线程池 一无所解。希望各位能够给予解答和帮助。
问题一:线程池的用法;当线程池中的某线程执行业务结束后,它在线程池或程序中 此时处于一个什么样的状态,是关掉了?还是暂时挂起了?能不能重复调用这个线程?
问题二:在主函数中写一个循环
object a=1;
for (int i = 0; i < 500; i++)
{
a = "线程"+i;
ThreadPool.QueueUserWorkItem(ThreadMethod,a);
}
这个该怎么理解? 是创建了500个线程到线程池中?还是 创建了500个线程池?
问题三:在我的意识里,是创建一条线程。然后把它加入到线程池中。 请问这样想是否正确?若正确。该怎么添加?添加后该怎么管理?
由于小弟是初涉线程池,请各位高手,能够给予解答。指点迷经。谢谢。若答案是从百度上粘的 就算了。我想听听你对线程池的见解; 展开
3个回答
2011-08-08
展开全部
MSDN有用法示例,不多讲了。线程池的作用主要是缓解线程新建(分配资源)和销毁(垃圾回收)所带来的资源浪费,不用的线程并不销毁而保留在池中,用的时候再拿来用,池有一定的容量只有达到上限才会以一定的算法来销毁线程,这个上限也是你可以设置的,所有的方法和属性MSDN会告诉你很清楚。原理清楚后,我想你的问题你自己就有答案了。
展开全部
MSDN有用法示例,不多讲了。线程池的作用主要是缓解线程新建(分配资源)和销毁(垃圾回收)所带来的资源浪费,不用的线程并不销毁而保留在池中,用的时候再拿来用,池有一定的容量只有达到上限才会以一定的算法来销毁线程,这个上限也是你可以设置的,所有的方法和属性MSDN会告诉你很清楚。原理清楚后,我想你的问题你自己就有答案了。
追问
我这流量少 而且很卡,MSDN太大 下载的速度很慢。现在线程池这方面 剩下的疑问就剩下1个:
池中的线程没有销毁,怎么把指定的线程给找出来,并获取其相应的属性,及运行时的详细信息。 能用具体方法说明下吗?
我给你追加分数。也希望能够在最迷茫的时候给指条明路。感激不尽!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在网上搜索“线程与线程池”或“线程池的使用”,可以搜索到很多博客中有详细的介绍。我也是这么学习到线程与线程池的使用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询