Private Sub setA()
創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務,在本地打下了良好的口碑,在過去的10多年時間我們累計服務了上千家以及全國政企客戶,如成都汽車玻璃修復等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質量監(jiān)控加上過硬的技術實力獲得客戶的一致表揚。
msgbox("")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim t1 As Threading.Thread = New Threading.Thread(AddressOf setA)
t1.start
End Sub
首先,你把你那些要運行很久的過程。盡量放在一個過程中。
因為線程只能是過程,不能使函數(shù),沒有返回值的。
然后,在某個事件下這樣寫:
**這里我假設你的那個很就的過程叫做 sub aaa()
調用如下:
Dim mythread As New System.Threading.Thread(AddressOf aaa)
mythread.Start()
***********
這樣就是定義一個線程,名字叫 mythread,這個線程會運行aaa這個過程。
start 就是讓線程運行。
多線程就是這樣的。界面線程是主線程,你這個Form_Load就是運行在主線程上的線程,而Thread1,Thread2是由主線程啟動的。這個啟動不是線性的。
主線程只是通知系統(tǒng),請啟動一個線程運行某某函數(shù)。
而哪個線程先運行完全在系統(tǒng)決定。甚至可能主線程執(zhí)行到Thread1.Abort() ,Thread2.Abort()的時候這兩個線程都還沒有啟動起來,所以你會遇到兩個變量都是空值這種情況。
這個線程對象一定有個完成時或者進行中的動作,你可以用AddHandler語句來將過程委托給ProcessChanged或者ProcessConpleted動作。