VB NET(Visual Basic NET)是為適應(yīng)Microsoft NET框架的需要 對Visual Basic進行了重大改造后的開發(fā)工具 它比Visual Basic 功能更強大 更易于使用 其中最重要的變化就是對象繼承 在VB NET中 所有可管理的類型都衍生自System Object 作為編程工具 最重要的一個特性就是垃圾碎片的回收 它由CLR(Common Language Runtime)進行控制 并提供更好的內(nèi)存管理功能 通用的類型定義可以提供更好的互操作性和協(xié)同工作能力 因此 VB NET顯得更強大 更具可靠性 在VB NET中 大多數(shù)CLR內(nèi)建的類型都在System名字空間里已經(jīng)定義了 比如 System Object System Int 和 System String 要注意的是 一個名字空間可能嵌在另一個名字空間內(nèi) 象System Data里就有System Data DataSet的類 代表是CLR編程模型很重要的一個新概念 代表是一個特殊類型的可管理的類 當你創(chuàng)建一個代表的實例時 你必須提供一個帶有匹配簽名的方法執(zhí)行的地址 一旦創(chuàng)建了一個代表的實例 調(diào)用方法將變的很容易 過去 我們利用VB開發(fā)多線程的應(yīng)用程序時 是一件很令人痛苦的事 經(jīng)常是多線程的程序運行是會變成多錯誤的程序!但在VB NET中 這種狀況已經(jīng)大為改觀 現(xiàn)在 我們利用VB NET處理多線程和利用JAVA處理多線程一樣簡單了 下面我們就舉個例子 來看看VB NET的多線程吧!下面是多線程程序threadtest vb的代碼 imports Systemimports System Threadingpublic class AClasspublic sub Method ()Dim i as integerFor i = to Console Writeline( 這是類AClass方法method 的內(nèi)容 i)nextend subpublic sub Method ()Dim i as integerFor i = to Console Writeline( 這是類AClass方法method 的內(nèi)容 i)橘態(tài)指nextend subend classpublic class ThreadTestpublic shared sub Main()dim obj as new aclassdim th th as thread閉棚th =new Thread(new ThreadStart(addressof thod ))th startth =new Thread(new ThreadStart(addressof thod ))th startdim i as integerFor i= to Console WriteLine( Main方法里的內(nèi)容 i)Nextend subend class現(xiàn)在 來讓我們剖析一下上面的例子 我們創(chuàng)建了我們自己的類AClass 并創(chuàng)建了兩個方法 Method 和Method 這兩個方法很簡單 只有一個For循環(huán) 向輸出設(shè)備輸出一些信息 我們還定義了另外一個類ThreadTest來使用上面創(chuàng)建的類AClass 在Main()方法中 我們創(chuàng)建了類Thread的實例 類Thread可以在System Threading名字空間里得到 它定義了處理線程的屬性和方法 在類Thread的構(gòu)造器中 我們使用了類ThreadStart 類ThreadStart是一個代表 標志著當一個線程開始時就開始執(zhí)行定義的方法 為了執(zhí)行定義的方法 我們實際調(diào)用的是線程的Start()方法 用VBC來編譯上面的程序 vbc /out:threadtest exe threadtest vb 運行編譯后的程序 我們將會看到我們定義的兩個方法和main()方法的混合輸出 這就說明每一個方法都在自己的線程下運行 除圓配了上面的方法 線程還有下面常用的方法 Stop():停止線程的運行 Suspend() 暫停線程的運行 Resume() 繼續(xù)線程的運行 Sleep() 停止線程一段時間(單位為毫秒) lishixinzhi/Article/program/net/201311/11287
創(chuàng)新互聯(lián)公司服務(wù)項目包括開福網(wǎng)站建設(shè)、開福網(wǎng)站制作、開福網(wǎng)頁制作以及開福網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,開福網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到開福省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
多線程是用于處理復雜項慎高目的
打個比方
你的主程序線程A中有個循環(huán),由于代碼是一行行走的,所以循環(huán)結(jié)束前下面的代碼無法運行,而此時主界面的反應(yīng)就類似卡死的樣子,你點擊按鈕也沒有反應(yīng),因為主線程在忙著循環(huán)呢,所以對按鈕的事件代碼要等待了,如果要避免這種情況,就要用到多線程,另開一個新線程專門用來執(zhí)行循環(huán)代碼,轎孝孫主界面就不會卡死閉鏈了,只要在循環(huán)結(jié)束后將結(jié)果傳回主線程調(diào)用就可以了,再復雜點要涉及到委托,控制了
按你的要求其實你的代碼用不到多線程,只要把sleep放到兩段代碼中間就可以了。
新線程結(jié)束用thread.abort()
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