新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
VB.NET 中Singleton如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联2013年开创至今,先为饶平等服务建站,饶平等地企业,进行企业商务咨询服务。为饶平企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在网上搜索了下,VB.NET Singleton实现的例子还真不多,代码以Java和C#的居多,C++次之,vb最少,偶尔翻到一篇,代码资源耗用可能高了点,Singleton的代码实例都很简单,结合Double-checked locking,在公共代码的基础上修改个lazy initializtion的代码,关于singleton就不多说了,一个类一个实例,更详细的解释参考GOF 的设计模式一书吧~lazy initializtion实现了用时初始化,也是很有意义的。都说Singleton是概念最简单,最没用,但又最难实现的。呵呵~我也不清楚,没有实践没有发言权。了解下VB.NET Singleton,为日后学习设计模式打下基础也是很有必要的。
public Class Singleton private shared _Singleton as singleton = nothing private shared _Mutex as new system.threading.Mutex '进程同步 private sub new () '类构造 end sub public shared function Instance () as singleton if _singleton is nothing then 'double-checked locking _mutex.waitone() try if _singleton is nothing then _singleton = new singleton end if finally _mutex.releaseMutex() end try end if return _singleton end function end class
代码中mutex被声明成Shared,如果是非shared,需要通过获取实例的方法调用mutex的方法,SIngleton.instance._mutex.waitone(), .net Framework和Jvm在底层上的实现细节差异撒卡还弄不清除
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。