本篇文章為大家展示了VB.NET中怎么實現(xiàn)多線程,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司成立十多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名注冊、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
VB.NET(Visual Basic.NET)是為適應(yīng)Microsoft .NET框架的需要,對Visual Basic進行了重大改造后的開發(fā)工具。它比Visual Basic 6.0功能更強大,更易于使用。其中最重要的變化就是對象繼承,在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.Int32, 和 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)大為改觀?,F(xiàn)在,我們利用VB.NET處理多線程和利用JAVA處理多線程一樣簡單了。下面我們就舉個例子,來看看VB.NET多線程吧!
下面是多線程程序threadtest.vb的代碼:
imports System
imports System.Threading
public class AClass
public sub Method1()
Dim i as integer
For i = 1 to 100
Console.Writeline(
"這是類AClass方法method1的內(nèi)容",i)next
end sub
public sub Method2()
Dim i as integer
For i = 1 to 100
Console.Writeline(
"這是類AClass方法method2的內(nèi)容",i)next
end sub
end class
public class ThreadTest
public shared sub Main()
dim obj as new aclass
dim th2,th3 as thread
th2=new Thread(new
ThreadStart(addressof obj.method1))th2.start
th3=new Thread(new
ThreadStart(addressof obj.method2))th3.start
dim i as integer
For i= 1 to 100
Console.WriteLine(
"Main方法里的內(nèi)容",i)Next
end sub
end class
現(xiàn)在,來讓我們剖析一下上面VB.NET多線程的例子:
1.我們創(chuàng)建了我們自己的類AClass,并創(chuàng)建了兩個方法:Method1和Method2。
2.這兩個方法很簡單,只有一個For循環(huán),向輸出設(shè)備輸出一些信息。
3.我們還定義了另外一個類ThreadTest來使用上面創(chuàng)建的類AClass。
4.在Main()方法中,我們創(chuàng)建了類Thread的實例。
5.類Thread可以在System.Threading名字空間里得到,它定義了處理線程的屬性和方法。
6.在類Thread的構(gòu)造器中,我們使用了類ThreadStart,類ThreadStart是一個代表,標志著當一個線程開始時就開始執(zhí)行定義的方法。
7.為了執(zhí)行定義的方法,我們實際調(diào)用的是線程的Start()方法。
8用VBC來編譯上面的程序:vbc /out:threadtest.exe threadtest.vb
9.運行編譯后的程序,我們將會看到我們定義的兩個方法和main()方法的混合輸出,這就說明每一個方法都在自己的線程下運行。
10.除了上面的方法,線程還有下面常用的方法:
Stop():停止線程的運行。
Suspend():暫停線程的運行。
Resume():繼續(xù)線程的運行。
Sleep():停止線程一段時間(單位為毫秒)。
上述內(nèi)容就是VB.NET中怎么實現(xiàn)多線程,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。