VB
NET(Visual Basic
NET)是為適應Microsoft
NET框架的需要
對Visual Basic進行了重大改造後的開發工具
它比Visual Basic
功能更強大
更易於使用
其中最重要的變化就是對象繼承
在VB
NET中
所有可管理的類型都衍生自System
Object
作為編程工具
最重要的一個特性就是垃圾碎片的回收
它由CLR(Common Language Runtime)進行控制
並提供更好的內存管理功能
通用的類型定義可以提供更好的互操作性和協同工作能力
因此
VB
NET顯得更強大
更具可靠性
在VB
NET中
大多數CLR內建的類型都在System名字空間裡已經定義了
比如
System
Object
System
Int
和 System
String
要注意的是
一個名字空間可能嵌在另一個名字空間內
象System
Data裡就有System
Data
DataSet的類
代表是CLR編程模型很重要的一個新概念
代表是一個特殊類型的可管理的類
當你創建一個代表的實例時
你必須提供一個帶有匹配簽名的方法執行的地址
一旦創建了一個代表的實例
調用方法將變的很容易
過去
我們利用VB開發多線程的應用程序時
是一件很令人痛苦的事
經常是多線程的程序運行是會變成多錯誤的程序!但在VB
NET中
這種狀況已經大為改觀
現在
我們利用VB
NET處理多線程和利用JAVA處理多線程一樣簡單了
下面我們就舉個例子
來看看VB
NET的多線程吧!
下面是多線程程序threadtest
vb的代碼
imports System
imports System
Threading
public class AClass
public sub Method
()
Dim i as integer
For i =
to
Console
Writeline(
這是類AClass方法method
的內容
i)
next
end sub
public sub Method
()
Dim i as integer
For i =
to
Console
Writeline(
這是類AClass方法method
的內容
i)
next
end sub
end class
public class ThreadTest
public shared sub Main()
dim obj as new aclass
dim th
th
as thread
th
=new Thread(new ThreadStart(addressof thod
))
th
start
th
=new Thread(new ThreadStart(addressof thod
))
th
start
dim i as integer
For i=
to
Console
WriteLine(
Main方法裡的內容
i)
Next
end sub
end class
現在
來讓我們剖析一下上面的例子
我們創建了我們自己的類AClass
並創建了兩個方法
Method
和Method
這兩個方法很簡單
只有一個For循環
向輸出設備輸出一些信息
我們還定義了另外一個類ThreadTest來使用上面創建的類AClass
在Main()方法中
我們創建了類Thread的實例
類Thread可以在System
Threading名字空間裡得到
它定義了處理線程的屬性和方法
在類Thread的構造器中
我們使用了類ThreadStart
類ThreadStart是一個代表
標志著當一個線程開始時就開始執行定義的方法
為了執行定義的方法
我們實際調用的是線程的Start()方法
用VBC來編譯上面的程序
vbc /out:threadtest
exe threadtest
vb
運行編譯後的程序
我們將會看到我們定義的兩個方法和main()方法的混合輸出
這就說明每一個方法都在自己的線程下運行
除了上面的方法
線程還有下面常用的方法
Stop():停止線程的運行
Suspend()
暫停線程的運行
Resume()
繼續線程的運行
Sleep()
停止線程一段時間(單位為毫秒)
From:http://tw.wingwit.com/Article/program/net/201311/11287.html