ACE的同步typde类型和宏定义

ACE的同步typde类型和宏定义

典型的锁哨宏用法

ACE_GUARD_RETURN (ACE_SYNCH_MUTEX, ace_mon, this->mutex_, -1);

ACE_SYNCH_MUTEX定义在下面的文件中

 

Synch_T.h

同步对象宏定义,

主要提供typedef统一多线程同步定义

 

class ACE_Export ACE_MT_SYNCH

{

public:

  typedef ACE_Thread_Mutex MUTEX;      //线程互斥锁

  typedef ACE_Null_Mutex NULL_MUTEX;         //空互斥锁

  typedef ACE_Process_Mutex PROCESS_MUTEX; // 进程互斥锁

  typedef ACE_Recursive_Thread_Mutex RECURSIVE_MUTEX; // 线程递归互斥锁

  typedef ACE_RW_Thread_Mutex RW_MUTEX; //线程读写锁

  typedef ACE_Condition_Thread_Mutex CONDITION;//线程条件互斥锁

  typedef ACE_Condition_Recursive_Thread_Mutex RECURSIVE_CONDITION; //线程条件互斥递归锁

  typedef ACE_Thread_Semaphore SEMAPHORE; // 线程信号量

  typedef ACE_Null_Semaphore NULL_SEMAPHORE; //空信号量

};

 

 

ACE#define同步对象的宏,以ACE_SYNCH_前缀

#if defined (ACE_HAS_THREADS)

 

#define ACE_SYNCH_MUTEX ACE_Thread_Mutex

#define ACE_SYNCH_NULL_MUTEX  ACE_Null_Mutex

#define ACE_SYNCH_RECURSIVE_MUTEX ACE_Recursive_Thread_Mutex

#define ACE_SYNCH_RW_MUTEX ACE_RW_Thread_Mutex

#define ACE_SYNCH_CONDITION ACE_Condition_Thread_Mutex

#define ACE_SYNCH_RECURSIVE_CONDITION ACE_Condition_Recursive_Thread_Mutex

#define ACE_SYNCH_SEMAPHORE ACE_Thread_Semaphore

#define ACE_SYNCH_NULL_SEMAPHORE  ACE_Null_Semaphore

 

#else /* ACE_HAS_THREADS */

 

#define ACE_SYNCH_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_NULL_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_RECURSIVE_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_RW_MUTEX ACE_Null_Mutex

#define ACE_SYNCH_CONDITION ACE_Null_Condition

#define ACE_SYNCH_RECURSIVE_CONDITION ACE_Null_Condition

#define ACE_SYNCH_SEMAPHORE ACE_Null_Semaphore

#define ACE_SYNCH_NULL_SEMAPHORE ACE_Null_Mutex

 

#endif /* ACE_HAS_THREADS */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值