偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

VB.NET Singleton具體實(shí)現(xiàn)方法解析

開發(fā) 后端
雖然網(wǎng)上關(guān)于VB.NET Singleton的實(shí)現(xiàn)例子不是很多,但是這一實(shí)現(xiàn)方式還是比較容易掌握。大家可以通過(guò)這里介紹的方法來(lái)對(duì)此進(jìn)行一個(gè)深入的了解。

VB.NET編程中有一種叫做Singleton的模式,它的影音方法簡(jiǎn)單靈活,可以幫助開發(fā)人員輕松的解決相關(guān)問(wèn)題。那么如何才能正確的實(shí)現(xiàn)應(yīng)用VB.NET Singleton這一模式呢?在這里就為大家詳細(xì)介紹一下。

在網(wǎng)上搜索了下,VB.NET Singleton實(shí)現(xiàn)的例子還真不多,代碼以Java和C#的居多,C++次之,vb最少,偶爾翻到一篇,代碼資源耗用可能高了點(diǎn),Singleton的代碼實(shí)例都很簡(jiǎn)單,結(jié)合Double-checked locking,在公共代碼的基礎(chǔ)上修改個(gè)lazy initializtion的代碼,關(guān)于singleton就不多說(shuō)了,一個(gè)類一個(gè)實(shí)例,更詳細(xì)的解釋參考GOF 的設(shè)計(jì)模式一書吧~lazy initializtion實(shí)現(xiàn)了用時(shí)初始化,也是很有意義的。都說(shuō)Singleton是概念最簡(jiǎn)單,最沒(méi)用,但又最難實(shí)現(xiàn)的。呵呵~我也不清楚,沒(méi)有實(shí)踐沒(méi)有發(fā)言權(quán)。了解下VB.NET Singleton,為日后學(xué)習(xí)設(shè)計(jì)模式打下基礎(chǔ)也是很有必要的。

  1. public Class Singleton   
  2. private shared _Singleton as singleton = nothing   
  3. private shared _Mutex as new system.threading.Mutex '進(jìn)程同步   
  4. private sub new ()  
  5. '類構(gòu)造  
  6. end sub  
  7. public shared function Instance () as singleton  
  8. if _singleton is nothing then 'double-checked locking  
  9. _mutex.waitone()   
  10. try   
  11. if _singleton is nothing then   
  12. _singleton = new singleton   
  13. end if   
  14. finally   
  15. _mutex.releaseMutex()  
  16. end try   
  17. end if   
  18. return _singleton  
  19. end function  
  20. end class 

代碼中mutex被聲明成Shared,如果是非shared,需要通過(guò)獲取實(shí)例的方法調(diào)用mutex的方法,SIngleton.instance._mutex.waitone(), .net Framework和Jvm在底層上的實(shí)現(xiàn)細(xì)節(jié)差異撒卡還弄不清除,不過(guò)查到一篇文章說(shuō)Double checked locking也是線程不安全,更好的方法有待去探索,包括輕量級(jí)的VB.NET Singleton. :)

【編輯推薦】

  1. VB.NET運(yùn)算符過(guò)程應(yīng)在何時(shí)定義
  2. VB.NET Boolean作用詳解
  3. VB.NET遞歸過(guò)程使用注意事項(xiàng)
  4. VB.NET Radiobutton控件使用方法淺談
  5. VB.NET繼承規(guī)則詳細(xì)介紹
責(zé)任編輯:曹凱 來(lái)源: wewill.cn
相關(guān)推薦

2010-01-21 18:19:45

VB.NET條件編譯

2010-01-15 16:12:40

VB.NET調(diào)用DLL

2010-01-07 16:51:56

VB.NET窗體鉤子

2010-01-21 13:11:31

VB.NET安裝工程

2010-01-11 17:40:36

VB.NET相框效果

2010-01-21 16:37:56

VB.NET變量聲明

2010-01-07 17:51:36

VB.NET實(shí)現(xiàn)Sin

2010-01-20 17:41:13

VB.NET標(biāo)記語(yǔ)句

2010-01-18 09:55:30

VB.NET刪除空白行

2010-01-22 15:47:37

VB.NET初始化網(wǎng)格

2010-01-21 14:27:46

VB.NET判斷數(shù)組維

2010-01-18 19:04:29

VB.NET組件疊加

2010-01-18 18:06:07

VB.NET多線程

2010-01-08 18:37:08

VB.NET顯示圖片

2010-01-18 14:35:11

VB.NET讀取內(nèi)存

2010-01-19 16:55:46

VB.NET聲明語(yǔ)句

2009-10-09 15:59:41

VB.NET對(duì)象

2010-01-22 17:12:08

VB.NET訪問(wèn)Ifr

2010-01-13 09:45:53

VB.NET Arra

2010-01-22 16:07:26

VB.NET Mid函
點(diǎn)贊
收藏

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