Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/11 9:28:13 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方法来重新启动。
赞