日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單分析VB.NET使用線程

VB.NET還是比較常用的,于是我研究了一下VB.NET使用線程,在這里拿出來和大家分享一下,希望對大家有用。

開發(fā)者一直要求微軟為VB加入更多的多線程功能,對于VB.NET也是這樣。VB6已經(jīng)支持建立多線程的EXE、DLL和OCX。不過使用多線程這個詞語,可能也不太確切。因此VB6僅支持運行多個單線程的單元。一個單元實際上是代碼執(zhí)行的空間,而單元的邊界限制了代碼訪問任何單元以外的事物。

VB.NET就不同了,它支持建立自由線程(free-threaded)的應(yīng)用。這意味著多個線程可以訪問同樣一套的共享數(shù)據(jù)。本文的以下部分將討論一下多線程的一些基本點。

問題

雖然VB6支持多個單線程的單元,不過它并不支持一個自由線程的模型,即不允許多個線程使用同一套數(shù)據(jù)。在許多的情況下,你需要建立一個新的線程來進行后臺的處理,這樣可提高應(yīng)用的可用性,否則,一個長的處理就可以令程序的響應(yīng)變得很慢,例如你按下表格上的一個取消按鈕,卻很久都沒有響應(yīng)。

解決辦法

由于VB.NET使用了CLR(Common Language Runtime),從而擁有了許多的新特性,其中的一個是可以創(chuàng)建自由線程的應(yīng)用。

VB.NET使用線程

VB.NET使用線程是很簡單的。我們將在后面涉及其中的細(xì)節(jié),現(xiàn)在我們首先來創(chuàng)建一個簡單的表格,它使用一個新的線程來運行一個后臺處理。***件要做的事情是創(chuàng)建運行在新線程上的后臺任務(wù)。以下的代碼執(zhí)行一個相當(dāng)長的運行處理--一個無限的循環(huán):

 
 
 
  1. Private Sub BackgroundProcess()  
  2. Dim i As Integer =   
  3. Do While True  
  4. ListBox1.Items.Add("Iterations: " + i)  
  5. i += 1  
  6. Loop  
  7. End Sub 

這段代碼無限地循環(huán),并且在每次執(zhí)行時為表格上的一個列表框加入一個項目。如果你對VB.NET不熟悉的話,你將會發(fā)現(xiàn)這段代碼和VB6的有一些區(qū)別:
◆在聲明變量Dim i As Integer = 1時賦值
◆使用+=操作符i += 1代替i = i + 1
◆沒有使用Call關(guān)鍵字

一旦我們擁有了一個工作的處理,我們就需要將這段代碼分配給一個線程處理,并且啟動它。為此我們要VB.NET使用線程對象(Thread object),它是.NET架構(gòu)類中System.Threading命名空間的一部分。在實例化一個新的線程類時,我們將要在線程類構(gòu)造器執(zhí)行的代碼塊的一個引用傳送給它。以下的代碼創(chuàng)建一個新的線程對象,并且將BackgroundProcess的一個引用傳送給它:

 
 
 
  1. Dim t As Thread  
  2. t = New Thread(AddressOf Me.BackgroundProcess)  
  3. t.Start() 

AddressOf操作符創(chuàng)建了一個到BackgroundProcess方法的委派對象。在VB.NET中,一個委派是一個類型安全、面向?qū)ο蟮暮瘮?shù)指針。在實例化該線程后,你可以通過調(diào)用線程的Start()方法來開始執(zhí)行代碼。

【編輯推薦】

  1. 詳細(xì)講述VB.NET開發(fā)控件
  2. VB.NET Control類的屬性和方法
  3. 解析VB.NET如何連接數(shù)據(jù)庫
  4. VB.NET應(yīng)用程序中多線程的應(yīng)用實例
  5. 淺析VB.NET程序?qū)W習(xí)經(jīng)驗

文章標(biāo)題:簡單分析VB.NET使用線程
分享路徑:http://m.5511xx.com/article/cdpgdeo.html