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

VB.NET監(jiān)控類(lèi)具體功能剖析

開(kāi)發(fā) 后端
VB.NET監(jiān)控類(lèi),也就是Monitor可以幫助我們?cè)诙嗑€程開(kāi)發(fā)中實(shí)現(xiàn)同步。那么具體的操作方法將會(huì)在這里為大家詳細(xì)介紹。

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

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

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

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

使用VB.NET監(jiān)控類(lèi)的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)  

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

【編輯推薦】

  1. VB.NET Timer實(shí)現(xiàn)功能細(xì)講
  2. VB.NET下載程序代碼實(shí)現(xiàn)
  3. VB.NET表單自動(dòng)提交實(shí)現(xiàn)方案剖析
  4. VB.NET修改代理服務(wù)器應(yīng)用技巧分享
  5. VB.NET調(diào)用jar文件操作步驟詳細(xì)介紹
責(zé)任編輯:曹凱 來(lái)源: itwis.com
相關(guān)推薦

2010-01-13 09:45:53

VB.NET Arra

2009-10-28 10:15:48

VB.NET框架類(lèi)庫(kù)

2010-01-14 18:08:08

VB.NET抽象類(lèi)

2010-01-12 11:55:10

VB.NET網(wǎng)絡(luò)監(jiān)控

2009-10-21 16:00:26

VB.NET CASE

2009-10-23 13:14:38

2009-10-13 15:09:19

VB.NET使用Tre

2009-11-02 16:22:16

VB.NET面向?qū)ο?/a>

2009-10-20 14:09:05

VB.NET反射功能

2009-10-20 09:39:04

VB.NET Butt

2010-01-12 16:20:44

VB.NET類(lèi)

2009-10-13 14:50:59

VB.NET Envi

2009-10-20 17:38:54

VB.NET Comp

2010-01-14 14:21:07

2009-10-12 16:51:28

VB.NET使用Ora

2009-10-29 11:41:27

VB.NET寫(xiě)Obje

2010-01-12 11:47:09

VB.NET可選參數(shù)

2009-10-15 17:50:48

VB.NET調(diào)用API

2010-01-21 12:55:08

VB.NET對(duì)象序列

2009-10-22 15:35:24

VB.NET循環(huán)
點(diǎn)贊
收藏

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