首页 > 应用软件 > 软件教程 > 编程开发 > 正文

Java认证考试:关于Singleton模式的学习(3)
2011-06-20 15:33      我要评论()
字号:T|T

93.    Singleton();
94.
95.    static CMutex mutex;
96.    static Singleton * instance;
97.};
98.Singleton * Singleton::instance = 0;
99.CMutex Singleton::mutex;
100.
101.Singleton::Singleton()
102.{
103.
104.}
105.
106.Singleton::~Singleton()
107.{
108.
109.}
110.
111.Singleton * Singleton::Instance()
112.{
113.    mutex.Lock();
114.
115.    if (instance == 0) {
116.        Sleep(1000);
117.        instance = new Singleton();
118.    }
119.
120.    mutex.Unlock();
121.
122.    return instance;
123.}
此外需要#include < afxmt.h>,,并且在项目设置中要设置动态链接MFC库。
Java Singleton模式:
124.public class Singleton {
125.
126.    private static Singleton instance;
127.    private static Object lock = Singleton.class;
128.
129.    public static Singleton getInstance() {
130.        synchronized (lock) {
131.            if (instance == null)
132.                instance = new Singleton();
133.
134.            return instance;
135.        }
136.    }
137.
138.    /** *//** Creates a new instance of Singleton */
139.    private Singleton() {
140.    }
141.}
运用加锁就可以解决在多线程环境下使用Singleton模式所带来的问题了。

 

新闻热线:010-68947455

关键词: 认证考试 模式 学习

责任编辑:lujq

我要评论

已有位网友参与评论

本类最热

科技视界

网站地图

牛华网

华军下载 | 牛华网 | 盒子 | pcsoft | 论坛

实用工具

关于我们 | 新闻投稿 | 软件发布 | 版权声明 | 意见建议 | 网站地图 | 友情连接 | RSS订阅 | 总编信箱 | 诚聘英才 | 联系我们

苏ICP备11016551号-2  苏公网安备 32132202000111号 本站特聘法律顾问:于国富律师

Copyright (C) 1997-2012 newhua.com 牛华网 版权所有