ACE的互斥信号量

ACE的互斥信号量 (2008-12-21 14:48:05)

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);

 

  

  

你可能感兴趣的:(ACE的互斥信号量)