#-------------------------------------------------
#
# Project created by QtCreator 2013-05-06T16:42:14
#
#-------------------------------------------------
# QT -= gui
TARGET = MutexDemo
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
LIBS += -L E:\ACE-6.1.1\ACE_wrappers\ace -lACE
INCLUDEPATH += -I E:\ACE-6.1.1\ACE_wrappers
SOURCES += main.cpp
#include "ace/Thread.h"
#include "ace/Synch.h"
#include <iostream>
using namespace std;
ACE_Thread_Mutex mutex;
void* Thread1(void *arg)
{
mutex.acquire();
ACE_OS::sleep(3);
cout<<endl<<"hello thread1"<<endl;
mutex.release();
return NULL;
}
void* Thread2(void *arg)
{
mutex.acquire();
cout<<endl<<"hello thread2"<<endl;
mutex.release();
return NULL;
}
int main(int argc, char *argv[])
{
ACE_Thread::spawn((ACE_THR_FUNC)Thread1);
//Thread2 比Thread1晚创建1秒钟,故后尝试获取互斥体
ACE_OS::sleep(1);
ACE_Thread::spawn((ACE_THR_FUNC)Thread2);
while(true)
ACE_OS::sleep(10);
return 0;
}