java和C++之单例类双重检查加锁
【摘要】 1、Java
public class Singleton { private volatile static Singleton instance; public static Singleton getInstance () { if (instance == null) { synchronized (Singleton.class) { if (instanc...
1、Java
-
public class Singleton {
-
private volatile static Singleton instance;
-
public static Singleton getInstance () {
-
if (instance == null) {
-
synchronized (Singleton.class) {
-
if (instance == null) {
-
instance = new Singleton();
-
}
-
}
-
}
-
return instance;
-
}
-
}
2、C++
-
class Singleton {
-
private:
-
volatile Singleton* pInst = 0;
-
public:
-
static Singleton* GetInstance() {
-
if (pInst == 0) {
-
lock();
-
if (pInst == 0) {
-
pInst = new Singleton();
-
}
-
unlock();
-
}
-
return pInst;
-
}
-
}
3、总结
同步机制等价于锁机制
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/78336543
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)