日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
VB.NET監(jiān)控類具體功能剖析

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

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

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

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

使用VB.NET監(jiān)控類的Enter和Exit方法進(jìn)行方法的同步調(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方法。這確保在一個(gè)線程調(diào)用這個(gè)函數(shù)時(shí),別的線程不能調(diào)用同樣的函數(shù)。你可以通過注釋掉這兩行代碼來輕易的檢查不使用VB.NET監(jiān)控類時(shí)發(fā)生的事情。


網(wǎng)站標(biāo)題:VB.NET監(jiān)控類具體功能剖析
鏈接地址:http://www.dlmjj.cn/article/djcjosi.html