1. ACE_Thread_Mutex
ACE_Thread_Mutex mutex_;
public testProtected()
{
mutex_.acquire ();
//被保护的区域
mutex_.release ();
}
2.ACE_RW_Thread_Mutex:效率比ACE_Thread_Mutex要低,不过当如果同时多个任务在读,只有很少的任务在写时推荐使用这个信号量:
定义一个读写的信号量:
ACE_RW_Thread_Mutex rw_mutex;
读任务:
//进行读保护
ACE_Read_Guard<ACE_RW_Thread_Mutex> g (rw_mutex);
//更新一个读锁到写锁,仅仅不存在其他读锁的时候才能成功
int result = rw_mutex.tryacquire_write_upgrade ();
写任务:
ACE_Write_Guard<ACE_RW_Thread_Mutex> g (rw_mutex);