前言 前段时间在网上看到了个的面试题,大概意思是如何在不使用锁和C++11的情况下,用C++实现线程安全的Singleton. 看到这个题目后,第一个想法就是用Scott Meyer在<Effective C++>中提到的,在static成员函数中构造local static变量的方法来实现,但是经过一番查找.思考,才明白这种实现在某些情况下是有问题的.本文主要将从最基本的单线程中的Singleton开始,慢慢讲述多线程与Singleton的那些事. 单线程 在单线程下,下面这个是常见的写法:…