线程的实现
作者:高山
1 . 1 . 1 创建和使用线程
用户可以通过声明一个变量类型 System.Threading 来建立一个新的线程。并且还提供了一个 AddressOf 操作和一个用户想运行的过程或方法。例如:
Dim mythread as New System.Threading.Thread(AddressOf MySub)
用户可以使用 ”Start” 方法来开始一个线程,例如 Thread.Start() 。
下面我们就举个例子,来看看 VB.NET 的多线程是怎样创建和使用的。
** Public ** ** Class AClass **
** Public Sub Method() **
** Dim i As Integer **
** For i = 1 To 100 **
** Next **
** MsgBox(" ** ** 该程序启动了一个线程,他的值是: " + CStr(i)) **
** End Sub **
** End ** ** Class **
导入命名空间:
** Imports ** ** System.Threading ** ** **
在主窗体的 Form1_load 的事件中添加以下代码:
** Private ** ** Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load **
** Dim obj As New AClass() **
** Dim th1 As Thread **
** th1 = New Thread( New ThreadStart( AddressOf obj.Method)) **
** th1.Start() **
** End ** ** Sub **
** ** 现在让我们来剖析一下上面的例子:
l 我们创建了我们自己的类 AClass ,并创建了两个方法: Method ()
l 这个方法很简单,只有一个 For 循环,用 MsgBox 函数输出线程运行的结果。
l 类 Thread 可以在 System.Threading 名字空间里得到,它定义了处理线程的属性和方法。
l 在类 Thread 的构造器中,我们使用了类 ThreadStart ,类 ThreadStart 是一个代表,标志着当一个线程开始时就开始执行定义的方法。
l 为了执行定义的方法,我们实际调用的是线程的 Start() 方法。
l 除了上面的方法,线程类还有下面常用的方法:
Abort(): 停止线程的运行。 Suspend() :暂停线程的运行。 Resume() :继续线程的运行。 Sleep() :停止线程一段时间(单位为毫秒)。