Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/11 9:28:13
C#教程:线程的创建

C#教程:线程的创建

线程的创建

线程是使用Thread类来处理的,该类在System.Threading命名空间中。通过实例化一个Thread对象就可以创建一个线程。创建新的 Thread对象时,将创建新的托管线程。Thread 类接收一个ThreadStart委托或ParameterizedThreadStart委托的构造函数,该委托包装了调用Start 方法时由新线程调用的方法。代码如下:

Thread t = new Thread(new ThreadStart(TestMethord));

t.Start();

上述代码实例化了一个Thread 对象,并指明了将要调用的方法TestMethord,然后启动线程。ThreadStart委托中作为参数的方法不需要参数,并且没有返回值。ParameterizedThreadStart委托一个对象为参数,利用这个参数可以很方便地向线程传递参数。代码如下:

Thread th = new Thread(new ParameterizedThreadStart (TestMethord));

th.Start(99);

99就是向方法传递的参数,ParameterizedThreadStart主要用来调用有参数的方法。

线程是通过线程类Thread来处理的,下面介绍Thread类的属性和方法。

1.Thread类的属性

Thread类的属性及说明如表1所示。



表1 Thread类常用属性及说明

下面对Thread类中比较重要的属性进行详细介绍。

(1)IsAlive属性。获取一个值,该值指示当前线程的执行状态。

语法:

public bool IsAlive { get; }

属性值:如果此线程已启动并且尚未正常终止或中止,则为 True;否则为 False。

(2)Name属性。获取或设置线程的名称。

语法:

public string Name { get; set; }

属性值:包含线程名称的字符串,或者如果未设置名称,则为空引用。

(3)ThreadState 属性。获取一个值,该值包含当前线程的状态。

语法:

public ThreadState ThreadState { get; }

属性值:ThreadState 值之一,它指示当前线程的状态。初始值为 Unstarted。

2.Thread类的方法

Thread类的方法及说明如表2所示。



表2 Thread类常用方法及说明

下面对Thread类中比较重要的方法进行详细介绍。

(1)Abort()方法。在调用此方法的线程上引发 ThreadAbortException,以开始终止此线程的过程。调用此方法通常会终止线程。

语法:

public void Abort ()

通常在关闭线程时调用该方法。

(2)Jion ()方法。在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻止调用线程,直到某个线程终止为止。

语法:

public void Join ()

使用此方法确保线程已终止。如果线程不终止,则调用方将无限期阻止。

(3)Sleep ()方法。将当前线程按指定的时间挂起。

语法:

public static void Sleep (int millisecondsTimeout)

参数millisecondsTimeout 是指线程被阻止的毫秒数。指定0以指示应挂起此线程以使其他等待线程能够执行。指定 Infinite 以无限期阻止线程。

(4)Start()方法。使线程被安排进行执行。

语法:

public void Start ()

此方法通常用来启动一个线程,但线程一旦终止,它就无法通过再次调用Start方法来重新启动。




If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759