#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
#include<string.h>
pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
typedef struct _object
{
int data;
void* (*data_func)(void *);
}singleton;
singleton *getSingleton()
{
static singleton * instance = NULL;
if(NULL == instance)
{
pthread_mutex_lock(&lock);
if(NULL == instance)
{
instance = (singleton *)malloc(sizeof(singleton));
memset(instance,0,sizeof(singleton));
return instance;
}
pthread_mutex_unlock(&lock);
}
return instance;
};
void main(int args, char *argv[])
{
singleton *single = getSingleton();
single->data = 3;
}
singleton
最新推荐文章于 2024-10-15 03:48:19 发布