Sub Main()
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了施秉免費建站歡迎大家使用!
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
這個沒法做到。原因
1)當(dāng)你將方法排入線程池隊列后,此方法在有線程池線程變得可用時執(zhí)行。
2)線程池中某個線程的可用與不可用,是由.net 后臺決定,用戶程序無法控制的
3)正如你觀察到的:線程啟動的時間不同,有快有慢,這恰恰說明線程池起作用了:線程池的調(diào)度試圖讓程序響應(yīng)達到最佳。
ListBox操作需要用Invoke。另外多線程方式并不是并行處理。
建議采用.net framework 4 帶的并行處理循環(huán)操作,若不是4.0版本的framework,可以使用Aforge的并行庫比較方便。
試試這個怎么樣,添加在子進程里面,就加在你批量傳輸代碼里的每一個傳輸后面,也就是大批量中的每傳輸一個數(shù)據(jù)就暫停一下,而不是每一個大批量才暫停一下
System.Threading.Thread.Sleep(10) '讓它走慢一點