读书人

c#的ThreadPool运用笔记(一)

发布时间: 2012-10-06 17:34:01 作者: rapoo

c#的ThreadPool使用笔记(一)

?

摘要:
系列文章,从一个基本的代码说起,逐步探索 ThreadPool 的奥妙。

首先,看看线程池的样子:
c#的ThreadPool运用笔记(一)

从上图看出,线程池维护1个至n个线程,操作系统从请求队列中提取请求分配个线程池中的适合线程处理。

?

?

?分析上面的代码:
一、首先定义了一个 System.Threading.WaitCallback 对象 waitCallback。?
WaitCallback 是一个委托,表示线程池线程要执行的回调方法,它的原型如下:

既然 WaitCallback 委托的原型如此,那么我们就申明一个跟它的样子差不多的函数,这个函数就是要线程做的事情。

?这里,我放置到线程池中的操作是一样的,当然也可以不一样,接下来说。


三、最后阻塞主线程,等待线程池中的线程执行

Console.ReadLine ( );
?如果忽略掉这个代码,则有可能看不到任何输出


好了,这是主线程做的事情了,接下来看看线程池中的线程做的事情。
这个很简单,就是将线程的参数输出,然后线程睡眠(sleep)一段时间,最后输出线程结束的信息。

?

?

读书人网 >C#

热点推荐