b********e 发帖数: 693 | 1 那位大牛能给个C++ Singleton的实现? 我自己写了一个不知道正确与否, 如果希望做到
thread-safe, 应该在什么地方加入mutex和condition variable
class Singleton{
Singleton();
~Singleton();
Singleton(const Singleton &);
Singleton & operator=(const Singleton &);
static Singleton * myinstance;
public:
static Singleton & CreateInstance();
static void Destory();
};
Singleton::Singleton(){
}
Singleton::~Singleton(){
}
Singleton & Singleton::CreateInstance(){
if(!myinstance){
|
S**********n 发帖数: 250 | 2 大致写了个思路如下。不想写实现。这里写code太不好看了。
class Singleton
{
public:
static Singleton* getSingleton();
private:
Singleton();
static Singleton* ptr;
}; |
f*********5 发帖数: 576 | 3 static Singleton & CreateInstance();
==>
static Singleton * CreateInstance();
做到
【在 b********e 的大作中提到】 : 那位大牛能给个C++ Singleton的实现? 我自己写了一个不知道正确与否, 如果希望做到 : thread-safe, 应该在什么地方加入mutex和condition variable : class Singleton{ : Singleton(); : ~Singleton(); : Singleton(const Singleton &); : Singleton & operator=(const Singleton &); : static Singleton * myinstance; : public: : static Singleton & CreateInstance();
|
l********n 发帖数: 54 | 4 class Singleton
{
private:
static Singleton* _instance;
Singleton() {}
~Singleton() {}
Singleton(const Singleton &);
Singleton& operator=(const Singleton&);
public:
static Singleton &getInstance();
static void clearInstance();
};
Singleton& Singleton::getInstance()
{
pthread_mutex_lock(&mutex);
if (!Singleton::_instance)
{
Singleton::_instance = new Singleton();
}
pthread_mutex_unlock |
p**********s 发帖数: 115 | |