单件模式(Singleton Pattern)vb.net
来源:互联网 发布:什么是java技术 编辑:程序博客网 时间:2024/05/01 00:53
单件模式(Singleton Pattern)这个模式的技术简单明了:
(1)隐藏默认类的构造函数
(2)添加一个共享的成员,以引用单独的、实例化的对象
(3)创建一个公有函数来创建或返回被引用的对象
Public Class Mysingleton
Private Shared m_Instance As Mysingleton
Private Shared m_TimeOfBirth As String
Private Sub New()
Console.WriteLine("Creating Singleton at {0}", Now.ToLongTimeString)
m_TimeOfBirth = Now.ToLongTimeString
End Sub
Public Shared Function GetInstance() As Mysingleton
If m_Instance Is Nothing Then
m_Instance = New Mysingleton()
End If
Return m_Instance
End Function
Public ReadOnly Property TimeOfbirth() As String
Get
Return m_TimeOfBirth
End Get
End Property
End Class
Sub Main()
Dim obTest1 As Mysingleton
Dim obTest2 As Mysingleton
Dim i As Integer
obTest1 = Mysingleton.GetInstance()
Console.WriteLine("GetInstance() called at {0} ; obtest1.TimeofBirth()={1}", Now.ToLongTimeString, obTest1.TimeOfbirth)
For i = 1 To 50000000
Next
obTest2 = Mysingleton.GetInstance
Console.WriteLine("GetInstance() called at {0} ; obtest2.TimeofBirth()={1}", Now.ToLongTimeString, obTest2.TimeOfbirth)
MessageBox.Show("click ok to end")
end sub
多线程
Public Class Mysingleton
Private Shared m_Instance As Mysingleton
Private Shared m_TimeOfBirth As String
'多线程安全
Private Shared m_Mutex As New System.Threading.Mutex
Private Sub New()
Console.WriteLine("Creating Singleton at {0}", Now.ToLongTimeString)
m_TimeOfBirth = Now.ToLongTimeString
End Sub
Public Shared Function GetInstance() As Mysingleton
m_Mutex.WaitOne()
If m_Instance Is Nothing Then
m_Instance = New Mysingleton()
End If
m_Mutex.ReleaseMutex()
Return m_Instance
End Function
Public ReadOnly Property TimeOfbirth() As String
Get
Return m_TimeOfBirth
End Get
End Property
End Class
- 单件模式(Singleton Pattern)vb.net
- .NET设计模式-单件模式(Singleton Pattern)
- .NET设计模式:单件模式(Singleton Pattern)
- .Net设计模式------单件模式(Singleton Pattern)
- .NET设计模式:单件模式(Singleton Pattern)
- VB.NET Singleton模式 单件模式
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 单件模式(Singleton Pattern)
- 爱立信笔试
- Clipboard中的延迟提交技术
- 有创业及野心的一定要看,以后会有帮助的
- 爱立信笔试
- Informix中的SQL查询注意事项
- 单件模式(Singleton Pattern)vb.net
- asp.net 实现n秒后页面自动跳转
- 钱和人生
- 文件安全与权限------Shell 学习(1)
- 听党课
- VC++6.0与matlab引擎混合编程
- [转]SIFT中的尺度空间和传统图像金字塔
- 注解(Annotation)源码解析--简单实现(Hibernate,EJB,JPA)
- 毕业设计--MySqL的初探