#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;
}