多线程在 Visual C#网络编程中的应用(1)
一.简介在 Visual C#中创建和使用线程:
Visual C#中使用的线程都是通过自命名空间 System.Threading 中的 Thread 类经常实例化完
成的。通过 Thread 类的构造函数来创建可供 Visual C#使用的线程,通过 Thread 中的方法
和属性来设定线程属性和控制线程的状态。以下 Thread 类中的最典型的构造函数语法,在
Visual C#中一般使用这个构造函数来创建、初始化 Thread 实例。
public Thread (
ThreadStart
start
) ;
参数
start ThreadStart 委托,它将引用此线程开始执行时要调用的方法。
Thread 还提供了其他的构造函数来创建线程,这里就不一一介绍了。表 01 是 Thread 类中
的一些常用的方法及其简要说明:
方法 说明
Abort
调用此方法通常会终止线程,但会引起 ThreadAbortException
类型异常。
Interrup
t
中断处于 WaitSleepJoin 线程状态的线程。
Join
阻塞调用线程,直到某个线程终止时为止。
ResetAb
ort
取消当前线程调用的 Abor 方法。
Resume
继续已挂起的线程。
Sleep
当前线程阻塞指定的毫秒数。
Start
操作系统将当前实例的状态更改为 ThreadState.Running。
Suspend
挂起线程,或者如果线程已挂起,则不起作用。
表 01:Thread 类的常用方法及其说明
这里要注意的是在.Net 中执行一个线程,当线程执行完毕后,一般会自动销毁。如果线程
没有自动销毁可通过 Thread 中的 Abort 方法来手动销毁,但同样要注意的是如果线程中使
用的资源没有完全销毁,Abort 方法执行后,也不能保证线程被销毁。在 Thread 类中还提
供了一些属性用以设定和获取创建的 Thread 实例属性,表 02 中是 Thread 类的一些常用属
性及其说明:
属性 说明
CurrentCult
ure
获取或设置当前线程的区域性。
CurrentThre
ad
获取当前正在运行的线程。
IsAlive
获取一个值,该值指示当前线程的执行状态。