Sub Main()
目前創(chuàng)新互聯(lián)建站已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、象州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
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
Sub Main() Dim thr As New Thread(AddressOf 循環(huán)) thr.Start("a") End Sub Sub 循環(huán)(a() As String) '這里隨你干什么循環(huán)也行 For Each i As String In a MsgBox(i) Next End Sub
多線程并不一定就可以縮短時(shí)間,具體要看你上面的“過程”是否調(diào)用數(shù)據(jù)庫完成。如果調(diào)用了數(shù)據(jù)庫,可以考慮用存儲(chǔ)過程替代“過程”。另外看看“過程”里是否反復(fù)打開和關(guān)閉了數(shù)據(jù)庫連接,如果是,這才是真正的耗時(shí)動(dòng)作。如果沒調(diào)用數(shù)據(jù)庫,可以考慮使用Parallel類(.net4以后)里面的函數(shù),使多個(gè)任務(wù)在多核CPU上并行運(yùn)行,縮短時(shí)間。
不可以,但是能夠在主線程的基礎(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í)行。