#include "ace/Task.h" #include "ace/OS.h" #include<iostream> #include "ace/Guard_T.h" using namespace std; ACE_Thread_Mutex mutex; class TaskThread: public ACE_Task<ACE_MT_SYNCH> { public: int m_num; TaskThread(int num) { m_num=num; } virtual int svc(void) { for(int i=0;i<10;i++) { ACE_OS::sleep(1); ACE_Guard<ACE_Thread_Mutex> guard(mutex); cout<<endl<<i<<":hello thread num:"<<m_num<<endl; } return 0; } }; int main(int argc, char *argv[]) { TaskThread task(1),task2(2); task.activate(); task2.activate(); while(true) ACE_OS::sleep(10); return 0; }
0:hello thread num:1
0:hello thread num:2
1:hello thread num:1
1:hello thread num:2
2:hello thread num:1
2:hello thread num:2
3:hello thread num:1
3:hello thread num:2
4:hello thread num:1
4:hello thread num:2
5:hello thread num:1
5:hello thread num:2
6:hello thread num:1
6:hello thread num:2
7:hello thread num:1
7:hello thread num:2
8:hello thread num:1
8:hello thread num:2
9:hello thread num:1
9:hello thread num:2