很簡單,調用API函數CreateThread
在玉田等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都網站設計、成都做網站 網站設計制作按需搭建網站,公司網站建設,企業網站建設,成都品牌網站建設,營銷型網站建設,成都外貿網站制作,玉田網站建設費用合理。
但是用vb做多線程的關鍵不在于創建,而是在于線程的不穩定,其不穩定是由于vb6自身的控件(如按鈕、文本框等)不是線程安全的,怎么用你程序就可能怎么掛,所以這些個玩樣兒在多線程中統統不能用。
那么UI的實現也得用API實現。這樣vb的多線程才相對要穩定。但是vb的可視化開發的優勢又蕩然無存。
多線程操控同一個空間容易出現混亂,可通過SyncLock語句,將對空間的操作添加至lock語句內部,
Class?simpleMessageList
Public?messagesList()?As?String?=?New?String(50)?{}
Public?messagesLast?As?Integer?=?-1
Private?messagesLock?As?New?Object
Public?Sub?addAnotherMessage(ByVal?newMessage?As?String)
SyncLock?messagesLock
messagesLast?+=?1
If?messagesLast??messagesList.Length?Then
messagesList(messagesLast)?=?newMessage
End?If
End?SyncLock
End?Sub
End?Class
參考:
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() //啟動多線程進程
Application.DoEvents
Next
End Sub
Private Sub setA()
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
這個線程對象一定有個完成時或者進行中的動作,你可以用AddHandler語句來將過程委托給ProcessChanged或者ProcessConpleted動作。