使用 ASP.NET 创建一个线程的实现方法其实非常简单,只需将其声明并为其提供线程起始点处的方法委托即可实现。创建新的线程时,需要使用 Thread 类,Thread 类具有接受一个 ThreadStart 委托或 ParameterizedThreadStart 委托的构造函数。该委托包装了调用 Start 方法时由新线程调用的方法。创建了Thread类 的对象之后,线程对象已存在并已配置,但并未创建实际的线程,这时,只有在调用Start方法后,才会创建实际的线程。
ASP.NET的Start方法用来使线程被安排进行执行,它有两种重载形式,下面分别介绍。
(1)导致操作系统将当前实例的状态更改为ThreadState.Running,语法如下。
1
|
public void Start ()
|
(2)使操作系统将当前实例的状态更改为ThreadState.Running,并选择提供包含线程执行的方法要使用的数据的对象。语法如下。
1
|
public void Start (Object parameter)
|
parameter:一个对象,包含线程执行的方法要使用的数据。
注意:如果线程已经终止,就无法通过再次调用Start方法来重新启动。
例如: 创建一个控制台应用程序,其中自定义一个静态的void类型方法createThread,然后在Main方法中通过实例化Thread类对象创建一个新的线程,然后调用Start方法启动该线程。具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
|
static void Main( string [] args)
{
Thread myThread; //声明线程
//用线程起始点的ThreadStart委托创建该线程的实例
myThread = new Thread( new ThreadStart(createThread));
myThread.Start(); //启动线程
}
public static void createThread()
{
Console.Write( "创建线程" );
}
|
注意:线程的入口(本例中为createThread)不带任何参数。