自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET并發(fā)性判斷線程狀態(tài)

開發(fā) 后端
VB.NET并發(fā)性的處理方式其實(shí)可以被看做是對一個(gè)線程狀態(tài)的判斷?;蛘呤侨サ玫揭粋€(gè)特定的特征值。我們會(huì)在文中給出詳細(xì)的應(yīng)用操作方法。

VB.NET編程語言的到來,在一定程度上改變了開發(fā)人員的編程方式,提高了編程效率,并且增加了程序開發(fā)的安全性。我們今天要為大家介紹的則是VB.NET并發(fā)性的一些作用,希望能給大家?guī)硪恍椭?t#

當(dāng)用戶在寫出多線程程序的時(shí)候,可能***有挑戰(zhàn)性的就是獨(dú)立的線程和程序的其他的部分有并發(fā)性。例如,程序中的一個(gè)獨(dú)立的線程正在處理一系列的名稱,而程序的另一個(gè)部分必須等待這個(gè)線程完成以后才能進(jìn)行,通常處理VB.NET并發(fā)性的線程的辦法就是判斷線程的狀態(tài)或者通過一個(gè)事件去標(biāo)志和得到一個(gè)特征值。

最簡單的,也是效率***的方法就是判斷一個(gè)線程的IsAlive屬性的值,當(dāng)一個(gè)線程在開始(Start)以前它的屬性IsAlive的值是"False",而在它運(yùn)行的過程中,它的屬性IsAlive的值是"True"。這種方法并沒有通過一個(gè)事件去標(biāo)志和得到一個(gè)特征值可靠,而且如果這樣做的慶,也失去了自由線程的很多優(yōu)點(diǎn)和便利之處。例如:

  1. while anotherthread.IsAlive=False 
  2. '一直等待到該線程開始  
  3. End While  
  4. '線程已經(jīng)開始,現(xiàn)在等待它結(jié)束  
  5. 'While anotherthread.IsAlive=True 
  6. '等待一直等待到線程結(jié)束  
  7. End While  
  8. '作一些線程結(jié)束以后的事情 

一個(gè)更好的處理線程的VB.NET并發(fā)性辦法就是使用事件,每一個(gè)線程都能夠運(yùn)行一個(gè)事件把它自己的狀態(tài)以一個(gè)標(biāo)志的形式給主程序一個(gè)值,或者是給其他一個(gè)線程一個(gè)具有標(biāo)志自身狀態(tài)后個(gè)值,這樣當(dāng)多個(gè)線程在運(yùn)行一個(gè)過程的多個(gè)拷貝的時(shí)候,這些線程都具有自己特有的事件來標(biāo)志各自的狀態(tài),則在線程之處的程序的其他的部分,就可以通過運(yùn)行這些事件,得到線程的信息,并且進(jìn)行下一步的信息的處理。例如:

  1. Public Event Status(Byval 
    ThreaStatus As Integer,
    Byval ThreadID As Integer) 

VB.NET 提供了SyncLock表述來使得在一個(gè)expression中一些statements可以具有VB.NET并發(fā)性,這保證了多個(gè)線程在運(yùn)行時(shí)不在同一時(shí)間里,運(yùn)行相同的statements,當(dāng)進(jìn)入了SyncLock模塊,共享的方法System.Monitor.Enter將在特定的expression下運(yùn)行,一直到這個(gè)特定的線程對expression返回的對象有exclusive Lock以后,模塊中的代碼才會(huì)停止運(yùn)行。

注意:expression的類型必須是可引用的那種類型。

責(zé)任編輯:曹凱 來源: 編程入門網(wǎng)
相關(guān)推薦

2010-01-22 18:32:23

VB.NET數(shù)據(jù)并發(fā)性

2009-10-12 13:32:58

VB.NET線程構(gòu)造器

2009-10-12 13:19:14

VB.NET線程同步

2009-10-12 13:11:48

VB.NET使用線程

2010-01-08 17:12:03

VB.NET短路判斷

2010-01-18 18:06:07

VB.NET多線程

2009-10-23 09:26:09

VB.NET多線程

2009-10-10 16:15:49

VB.NET開發(fā)多線程

2010-01-08 10:48:05

VB.NET多線程

2009-10-20 10:59:32

VB.NET編程

2009-10-29 14:02:24

VB和VB.NET比較

2011-06-17 11:05:22

VB.NET

2009-06-24 15:45:32

VB.NET

2009-10-20 14:21:55

VB.NET fnSi

2009-10-14 12:51:41

VB.NET Data

2009-10-20 10:23:08

VB.NET多線程編程

2009-10-27 12:20:06

VB.NET多線程應(yīng)用

2009-11-02 17:12:01

VB和VB.NET

2010-01-13 10:53:24

VB.NET控件

2009-10-20 09:39:04

VB.NET Butt
點(diǎn)贊
收藏

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