现在的位置: 首页 > 综合 > 正文

ACE_Singleton用法

2018年05月13日 ⁄ 综合 ⁄ 共 582字 ⁄ 字号 评论关闭
#include <stdio.h>
#include <ace/Singleton.h>
#include <ace/Memory_Pool.h>
#include <ace/Log_Msg.h>
#include <ace/Mutex.h>
#include <ace/Null_Mutex.h>
#include <ace/Thread_Manager.h>



class MyClass
{
public:
    void foo()
    {
        ACE_DEBUG((LM_DEBUG,"foo called\n"));
    }
};



typedef ACE_Singleton<MyClass,ACE_Null_Mutex> FOO;

void * Thread ( void *arg )
{
    FOO::instance ()->foo ();
    fprintf(stderr,"FOO address is %p\n",FOO::instance ());
}



int main(int argc, char *argv[])
{
    FOO::instance ()->foo ();
    fprintf(stderr,"FOO address is %p\n",FOO::instance ());
    ACE_Thread_Manager::instance ()->spawn (Thread,0);
    ACE_Thread_Manager::instance ()->wait ();
    return 0;
}

抱歉!评论已关闭.