设为首页】 【加入收藏】 【网站地图】 【商品折扣
娱乐一生 娱乐明星
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
首页  |  java  |  .NET  |  C/C++  |  网页技术  |  php  |  asp  |  delphi  |  VC  |  VB开发  |  游戏开发  |  软件工程  |  Power Builder  |  Linux开发  |  Windows开发技巧
当前位置:首页 >> C++技术资料 >> C++/CLI中实现singleton模式

C++/CLI中实现singleton模式 -

  双重检测锁(Double-Checked Locking)实现的Singleton模式在多线程应用中有相当的价值。在ACE的实现中就大量使用ACE_Singleton模板类将普通类转换成具有Singleton行为的类。这种方式很好地消除了一些重复代码臭味,而且,优化后的性能较标准互斥版本提高15倍。最近在用C++/CLI做一些工作,Singleton不可避免地需要用到,于是我又制造了一次车轮。

1 #pragma once
2
3 /** /cla  sidle::Singleton
4 /brief Singleton (Double-Checked Locking)
5 /author 吴尔平
6 /version 1.0
7 /date 2005.02.08 -
8 /bug
9 /warning
10 */
11
12 name ace sidle
13 {
14  using name ace System;
15  using name ace System::Threading;
16
17  template<typename _T>
18  ref cla  Singleton
19  {
20   public:
21    static _T^ I tance()
22    {
23     if (_i tance == nullptr)
24     {
25      _mut->WaitOne();
26      try
27      {
28       if (_i tance == nullptr)
29       {
30        _i tance = gcnew _T();
31       }
32      }
33      finally
34      {
35       _mut->ReleaseMutex();
36      }
37     }
38     return _i tance;
39    }
40   protected:
41    Singleton(){}
42    static _T^ _i tance;
43    static Mutex^ _mut = gcnew Mutex();
44  }; // ref cla  Singleton
45
46 }; // name ace sidle



 

娱乐图摘

更多 >>

靓丽清纯美女meimei

美女私房全裸照
导演劝女演员脱衣服(视频)

大胆火辣人体艺术写真(图)

黑丝妹妹热辣诱惑-丝袜美女妹妹

PLMM 漂亮妹妹图集-妹妹图库

全球美女图库-美女集中营

52MM 我爱漂亮妹妹-制服妹妹诱惑

图王图库-世界美女明星图片资料库
美女写真集锦

激情两性-解密性生活
浴室MM湿身内衣诱惑
邻家小妹洗澡被偷拍(视频)

热点文章

更多

· C++设计模式之Singleton
· Singleton的C++实现 及相关问题
· C++对象布局及多态实现之成员函数的调用
· 如何在RichEdit中实现上标下标
· C++箴言:谨慎考虑资源管理类的拷贝行为
· Visual C++实现Flash动画播放
· 内存陷阱 驯服C++中的野指针
· C/C++数组名与指针区别深入探索
· VC#2005快速入门之使用do语句
· 数据结构学习(C++)之栈和队列

热点文章

更多