#include <stdio.h>
#include <pthread.h>
#include <iostream>
#include <cstdlib>
class Process{
public:
Process(){
ps = NULL;
};
virtual ~Process(){};
static Process *getinstance(){
if(ps == NULL)
ps = new(std::nothrow)Process();
return ps;
};
protected:
int newPicPath[10];
void playnpic(){
for(int i=0;i<10;i++){
printf("%d ",newPicPath[i]);
}printf("\n");
};
static void* playPic(void *){
if(ps != NULL){
ps->playnpic();
}
};
private:
static Process *ps;
};
class te_process : public Process{
public:
te_process(){};
~te_process(){};
void func(){
pthread_t tid;
pthread_create(&tid,NULL,playPic,this);
};
};
int main()
{
int i;
te_process *te = new(std::nothrow)te_process();
for(i=0; i<10; i++){
te->getinstance()->newPicPath[i] = i;
}
te->func();
return 0;
}
简单c++ 单例模式实现
最新推荐文章于 2024-10-18 18:23:24 发布