http://www.microsoft.com/taiwan/msdn/library/2002/Apr-2002/whitepaper/vbtchAsyncProcVB.htm
建立新的執行緒
建立執行緒最直接的方法就是建立執行緒類別的一個新執行個體,並且使用 AddressOf 陳述式傳遞您要執行之程序的委派。例如,下列程式碼會將名為 SomeTask 的子程序當成另一個執行緒執行。
Dim Thread1 As New System.Threading.Thread(AddressOf SomeTask)
Thread1.Start
' 此處的程式碼會立即執行。
執行緒共用
執行緒共用是多執行緒的一種形式,工作會加入佇列中,並在建立執行緒時自動啟動。使用執行緒共用時,您要呼叫 Threadpool.QueueUserWorkItem 方法,使用您要執行之程序的委派,Visual Basic .NET 會建立執行緒並執行您的程序。以下範例顯示可以如何使用執行緒共用啟動許多工作。
Sub DoWork()
Dim TPool As System.Threading.ThreadPool
' 佇列工作
TPool.QueueUserWorkItem(New System.Threading.WaitCallback _
(AddressOf SomeLongTask))
' 佇列另一個工作
TPool.QueueUserWorkItem(New System.Threading.WaitCallback _
(AddressOf AnotherLongTask))
End Sub
有一點要釐清的:Join 是一個同步或封鎖呼叫。您呼叫了 Join 或等候處理常式的等候方法後,呼叫程序會停止,等候執行緒通知其已經完成。
Sub JoinThreads()
Dim Thread1 As New System.Threading.Thread(AddressOf SomeTask)
Thread1.Start()
Thread1.Join() ' 等候執行緒完成。
MsgBox("執行緒已經完成")
End Sub