SingleTon 要求一个类有且仅有一个实例,并提供一个全局的访问点.
2006-12-31 09:50
393 查看
using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace Gof.Nan.Test
6 Gof.Nan.Test.SingleTon s1, s2;
2 s1 = Gof.Nan.Test.SingleTon.CreateInstance();
3 s2 = Gof.Nan.Test.SingleTon.CreateInstance();
4 if (s1.Equals(s2))
5using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace Gof.Nan.Test
6{
7 class SingleTonInMultiThread
8 {
9 private static SingleTonInMultiThread _singleTon;
10 private static object _classLock = typeof(SingleTon);
11 private long _wipMoves;//私有变量,表示一定的意义.
12 private SingleTonInMultiThread(){
13 _wipMoves = 0;
14 }
15 public SingleTonInMultiThread CreateInstance()
16 {
17 lock (_classLock)
18 {
19 if (_singleTon == null)
20 {
21 _singleTon = new SingleTonInMultiThread();
22 }
23 return _singleTon;
24 }
25 }
26 public void DoSomething()
27 {
28 lock (_classLock)//保证其在执行时的线程安全性
29 {
30 _wipMoves++;
31 }
32 }
33 }
34}
The Singleton Pattern ensures a class has oly one instance, and provides a global point of access to it.
2using System.Collections.Generic;
3using System.Text;
4
5namespace Gof.Nan.Test
6 Gof.Nan.Test.SingleTon s1, s2;
2 s1 = Gof.Nan.Test.SingleTon.CreateInstance();
3 s2 = Gof.Nan.Test.SingleTon.CreateInstance();
4 if (s1.Equals(s2))
5using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace Gof.Nan.Test
6{
7 class SingleTonInMultiThread
8 {
9 private static SingleTonInMultiThread _singleTon;
10 private static object _classLock = typeof(SingleTon);
11 private long _wipMoves;//私有变量,表示一定的意义.
12 private SingleTonInMultiThread(){
13 _wipMoves = 0;
14 }
15 public SingleTonInMultiThread CreateInstance()
16 {
17 lock (_classLock)
18 {
19 if (_singleTon == null)
20 {
21 _singleTon = new SingleTonInMultiThread();
22 }
23 return _singleTon;
24 }
25 }
26 public void DoSomething()
27 {
28 lock (_classLock)//保证其在执行时的线程安全性
29 {
30 _wipMoves++;
31 }
32 }
33 }
34}
The Singleton Pattern ensures a class has oly one instance, and provides a global point of access to it.
相关文章推荐
- 单例模式(Singleton)-保证一个类仅有一个实例,并提供一个访问它的全局访问点。
- 单例模式--能够保证一个类仅有唯一的实例,并提供一个全局访问点。
- 单例模式--确保一个类只有一个实例,并提供一个全局访问点。
- 为全局、静态、单件实例的类提供一个Release接口是非常必要的。让其在析构里面什么也不做。
- SpringMVC之一个Controller多个方法及静态文件访问实例
- C语言——实例039 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
- Element类提供的方法访问一个XML元素中含有的信息
- Singleton 同一个程序同时只能启动一个实例
- C++builder 多线程下载实际操作记录,最简单实例(共同访问全局变量+临界值)
- 如何创建一个ContentProvider,提供给其他App访问
- HTML5 实现一个访问本地文件的实例
- C#全局hook实例【提供源代码下载】
- OAuth 为API访问授权提供一个开放的标准
- 给你的django后台模型实例加上一个可以直接访问的链接
- 具体的一个实例,展示如何访问实例变量和调用成员方法
- iphone的单态(singleton)设计模式(即全局单实例模式)
- AppDelegate相关,实现全局变量,一个类一个实例
- spring security 一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架
- 一个httpclient4实例跨域访问会报错,谁知道在什么情况下会出现这个问题?
- 给你的django后台模型实例加上一个可以直接访问的链接