设计模式(1):C++单例模式
文章目录
0.导语
1.众所周知的单例
2.懒汉与饿汉
3.多线程加锁
4.双重检查锁模式
5.memory barrier指令
6.静态局部变量
7.Atomic
8.pthread_once
9.总结
10. 参考文献
0.导语
相信大家面试都逃不开设计模式话题,本节将阐述面试中的最常用的设计模式(单例模式),从分类,线程安全,不基于C++11标准的角度与基于C++11标准的角度,有哪些解决线程安全的单例模式方案,相信认真看完本篇文章,在以后面试中就不用担忧了。
1.众所周知的单例
在一般书籍中或者大家比较是熟知的单例模式是下面这样:
class singleton {
private:
singleton() {}
static singleton *p;
public:
static singleton *instance();
};
singleton *singleton::p = nullptr;
singleton* singleton::instance() {
共有 0 条评论