日韩无码专区无码一级三级片|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并發(fā)性判斷線程狀態(tài)

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

10年積累的成都網(wǎng)站建設(shè)、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設(shè)流程,更有拱墅免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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

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

 
 
 
  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é)束以后的事情 

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

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

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

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


網(wǎng)站欄目:VB.NET并發(fā)性判斷線程狀態(tài)
網(wǎng)頁路徑:http://www.5511xx.com/article/dhgespe.html