ListBox操作需要用Invoke。另外多線程方式并不是并行處理。
網站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網頁設計、網站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了榮縣免費建站歡迎大家使用!
建議采用.net framework 4 帶的并行處理循環(huán)操作,若不是4.0版本的framework,可以使用Aforge的并行庫比較方便。
一般多開線程寫無限循環(huán)行為。
//定義線程
Dim?th?As?New?Threading.Thread(New?Threading.ParameterizedThreadStart(AddressOf?test))
th.Start("aaa")//開始線程,可以傳參
//線程執(zhí)行函數
Public?Sub?test(ob?As?Object)
While?True
Console.WriteLine("線程正在運行中"??ob)
Threading.Thread.Sleep(1000)
End?While
End?Sub
多線程是用于處理復雜項目的
打個比方
你的主程序線程A中有個循環(huán),由于代碼是一行行走的,所以循環(huán)結束前下面的代碼無法運行,而此時主界面的反應就類似卡死的樣子,你點擊按鈕也沒有反應,因為主線程在忙著循環(huán)呢,所以對按鈕的事件代碼要等待了,如果要避免這種情況,就要用到多線程,另開一個新線程專門用來執(zhí)行循環(huán)代碼,主界面就不會卡死了,只要在循環(huán)結束后將結果傳回主線程調用就可以了,再復雜點要涉及到委托,控制了
按你的要求其實你的代碼用不到多線程,只要把sleep放到兩段代碼中間就可以了。
新線程結束用thread.abort()
多線程并不一定就可以縮短時間,具體要看你上面的“過程”是否調用數據庫完成。如果調用了數據庫,可以考慮用存儲過程替代“過程”。另外看看“過程”里是否反復打開和關閉了數據庫連接,如果是,這才是真正的耗時動作。如果沒調用數據庫,可以考慮使用Parallel類(.net4以后)里面的函數,使多個任務在多核CPU上并行運行,縮短時間。
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
看懂了吧 參數只能有一個 也可以不是數組,在a() As String的a后面去掉括號就行
網站題目:vb.net線程循環(huán)執(zhí)行,vb循環(huán)程序
當前網址:http://chinadenli.net/article26/hdoscg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、云服務器、、網站內鏈、用戶體驗、Google
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)