C++中单实例模式的一个简单的写法是:将对象定义为一个函数的局部静态变量,然后返回对象的引用,这样在函数首次调用时完成静态对象的初始化,但这一做法在C++11前并不是线程安全的,而C++11已经可以保证其线程安全性:
在当前线程执行到需要初始化静态变量时,如果有其他线程正在初始化该变量,则阻塞当前线程,直到初始化完成为止。
#include#include using namespace std; class A{ public: A(int t) { cout<<"constructor A, thread:"<



