首先,你把你那些要運(yùn)行很久的過(guò)程。盡量放在一個(gè)過(guò)程中。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供和田縣網(wǎng)站建設(shè)、和田縣做網(wǎng)站、和田縣網(wǎng)站設(shè)計(jì)、和田縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、和田縣企業(yè)網(wǎng)站模板建站服務(wù),十余年和田縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
因?yàn)榫€程只能是過(guò)程,不能使函數(shù),沒(méi)有返回值的。
然后,在某個(gè)事件下這樣寫(xiě):
**這里我假設(shè)你的那個(gè)很就的過(guò)程叫做 sub aaa()
調(diào)用如下:
Dim mythread As New System.Threading.Thread(AddressOf aaa)
mythread.Start()
***********
這樣就是定義一個(gè)線程,名字叫 mythread,這個(gè)線程會(huì)運(yùn)行aaa這個(gè)過(guò)程。
start 就是讓線程運(yùn)行。
Sub Main()
Dim thr As Thread
For Pi As Integer=0 To 4 //啟用5線程
MulParams =Pi vbTab sFile vbTab dFile vbTab 1 vbTab DelN vbTab cr vbTab cg vbTab cb vbTab IndexI
GlobalParamas(pi)=MulParams .Split(vbTab)
thr=New Thread(AddressOf MyMulThreadCaller)
thr.Start() //啟動(dòng)多線程進(jìn)程
Application.DoEvents
Next
End Sub
不可以,但是能夠在主線程的基礎(chǔ)上調(diào)用委托(Invoke)。(主線程會(huì)被占用)
例子:
Dim thr As Threading.Thread
Public Delegate Sub VoidDelegate()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
thr = New Threading.Thread(AddressOf Where)
thr.Start()
End Sub
Public Sub Where()
Me.BeginInvoke(New VoidDelegate(AddressOf WhereThr))
End Sub
Public Sub WhereThr()
Me.TextBox.text="0123456789"
End Sub
(Invoke)這種情況下,主線程被占用,所有由主線程執(zhí)行程序,都將被(wherethr函數(shù)執(zhí)行結(jié)束)后執(zhí)行。