日韩无码专区无码一级三级片|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監(jiān)控類具體功能剖析

VB.NET編程語言功能強大,支持類的所有特性。每一個類實現(xiàn)的功能不盡相同,同時又能給我們帶來許多新的體驗。比如VB.NET監(jiān)控類,就能幫助我們實現(xiàn)多線程同步,幫助我們提高編程效率。

在進行VB.NET多線程開發(fā)時,線程間同步調(diào)用同樣的函數(shù)是非常重要的??紤]你有一個寫文件的函數(shù),如果多個線程同時都調(diào)用這個函數(shù),在一個線程完成操作之前,再調(diào)用肯定會拋出異常。為避免此種情況發(fā)生你可以使用VB.NET監(jiān)控類Monitor。

在我們的例子中引入下面的命名空間:

 
 
 
  1. System   
  2. System.Threading   
  3. System.IO   
  4. System.Text  

使用VB.NET監(jiān)控類的Enter和Exit方法進行方法的同步調(diào)用。下面顯示如何操作:

 
 
 
  1. Monitor.Enter(Me)   
  2. Dim fs As FileStream = New FileStream ("C:\Temp\SyncTest.txt", FileMode.Append)   
  3. Dim t As ThreadThread = Thread.CurrentThread   
  4. fs.Write(Encoding.ASCII.GetBytes(t.Name & vbCrLf), 0, t.Name.Length + 2)   
  5. Dim i As Integer   
  6. For i = 0 To 10000  
  7. fs.Write(Encoding.ASCII.GetBytes(i & ","), 0, i.ToString().Length + 1)   
  8. Next   
  9. fs.Close()   
  10. Monitor.Exit(Me)  

在寫入文件的代碼的開始處,我們調(diào)用 Monitor.Enter 方法。一旦寫操作結(jié)束,我們既調(diào)用 Monitor.Exit方法。這確保在一個線程調(diào)用這個函數(shù)時,別的線程不能調(diào)用同樣的函數(shù)。你可以通過注釋掉這兩行代碼來輕易的檢查不使用VB.NET監(jiān)控類時發(fā)生的事情。


文章題目:VB.NET監(jiān)控類具體功能剖析
路徑分享:http://www.5511xx.com/article/djcjosi.html