偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

簡(jiǎn)單分析VB.NET使用線程

開發(fā) 后端
這里介紹VB.NET使用線程,開發(fā)者一直要求微軟為VB加入更多的多線程功能,對(duì)于VB.NET也是這樣。VB6已經(jīng)支持建立多線程的EXE、DLL和OCX。

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

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

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

問(wèn)題

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

解決辦法

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

VB.NET使用線程

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

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

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

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

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

【編輯推薦】

  1. 詳細(xì)講述VB.NET開發(fā)控件
  2. VB.NET Control類的屬性和方法
  3. 解析VB.NET如何連接數(shù)據(jù)庫(kù)
  4. VB.NET應(yīng)用程序中多線程的應(yīng)用實(shí)例
  5. 淺析VB.NET程序?qū)W習(xí)經(jīng)驗(yàn)
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-10-12 13:19:14

VB.NET線程同步

2009-11-04 09:32:12

VB.NET Auto

2009-10-13 09:24:57

VB.NET Dock

2009-10-09 17:40:38

VB.Net問(wèn)題集

2010-01-15 15:39:14

VB.NET Sub過(guò)

2009-10-15 15:14:54

VB.NET臨時(shí)文件

2009-10-16 13:26:53

VB.NET Exce

2009-10-20 10:23:08

VB.NET多線程編程

2009-10-28 10:04:53

VB.NET XmlW

2009-10-30 15:51:30

VB.NET使用缺省屬

2009-11-02 17:12:01

VB和VB.NET

2009-11-10 17:31:38

VB.NET注冊(cè)表

2009-10-13 09:33:49

VB.NET Web

2009-10-13 14:42:30

VB.NET靜態(tài)成員

2009-10-28 10:51:32

VB.NET默認(rèn)屬性

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-30 11:20:54

VB.NET Proc

2009-10-14 13:15:09

VB.NET數(shù)據(jù)綁定

2009-10-13 14:38:10

VB.NET訪問(wèn)類型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)