日韩无码专区无码一级三级片|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線程同步

學(xué)習(xí)VB.NET時,經(jīng)常會遇到VB.NET線程同步問題,這里將介紹VB.NET線程同步問題的解決方法,在這里拿出來和大家分享一下。

成都創(chuàng)新互聯(lián)企業(yè)建站,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計,有多年建站和網(wǎng)站代運(yùn)營經(jīng)驗(yàn),設(shè)計師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動的思維在網(wǎng)頁中充分展現(xiàn),通過對客戶行業(yè)精準(zhǔn)市場調(diào)研,為客戶提供的解決方案。

VB.NET線程同步

在VB.NET線程同步方面,VB.NET提供了幾個方法。在上面的平方例子中,你要與執(zhí)行計算的VB.NET線程同步,以便等待它執(zhí)行完并且得到結(jié)果。另一個例子是,如果你在其它線程中排序一個數(shù)組,那么在使用該數(shù)組前,你必須等待該處理完成。為了進(jìn)行這些同步,VB.NET提供了SyncLock聲明和 Thread.Join方法。

SyncLock可得到一個對象引用的***鎖,只要將該對象傳送給SyncLock就行了。通過得到這個***鎖,你可以確保多個線程不會訪問共享的數(shù)據(jù)或者在多個線程上執(zhí)行的代碼。要得到一個鎖,可使用一個較為便利的對象--與每個類關(guān)聯(lián)的System.Type對象。System.Type對象可通過使用GetType方法得到:

 
 
 
  1. Public Sub CalcSquare()  
  2. SyncLock GetType(SquareClass)  
  3. Square = Value * Value  
  4. End SyncLock  
  5. End Sub 

另一個是Thread.Join方法,它可讓你等待一個特定的時間,直到一個線程完成。如果該線程在你指定的時間前完成了,Thread.Join將返回 True,否則它返回False。在平方的例子中,如果你不想使用觸發(fā)事件的方法,你可以調(diào)用Thread.Join的方法來決定計算是否完成了。代碼如下所示:

 
 
 
  1. Private Sub Button1_Click(ByVal sender As System.Object, 
    _ByVal e As System.EventArgs) Handles Button1.Click  
  2. Dim oSquare As New SquareClass()  
  3. t = New Thread(AddressOf oSquare.CalcSquare)  
  4. oSquare.Value = 30 
  5. t.Start()  
  6. If t.Join(500) Then  
  7. MsgBox(oSquare.Square)  
  8. End If  
  9. End Sub 

對于這種方法,要注意的是處理事件的過程,在這個例子中的是SquareEventHandler,將運(yùn)行在產(chǎn)生該事件的線程中。它并不是運(yùn)行在表格執(zhí)行的線程中。


本文標(biāo)題:簡單介紹VB.NET線程同步
本文路徑:http://m.5511xx.com/article/dhjsjes.html