線程遞迴互斥:ACE_Recursive_Thread_Mutex類

來源:互聯網
上載者:User

ACE_Recursive_Thread_Mutex實現了wrappe模式,該類的功能在於允許同一個線程內可遞迴的擷取和釋放mutex。 成員函數
1. ACE_Recursive_Thread_Mutex
調用函數ACE_OS::recursive_mutex_init初始化互斥量說明:函數ACE_OS::recursive_mutex_init根據具體的作業系統分別調用ACE_OS::thread_mutex_init或者ACE_OS::thread_mutex_init和ACE_OS::cond_init初始化互斥量。
windows ACE_OS::thread_mutex_init
Solaris9和AIX5.2 ACE_OS::thread_mutex_init
ACE_OS::cond_init說明:函數ACE_OS::thread_mutex_init根據具體作業系統分別調用InitializeCriticalSection (m)或者
ACE_OS::mutex_init初始化互斥量
windows InitializeCriticalSection
Solaris9和AIX5.2 ACE_OS::mutex_init說明:ACE_OS::mutex_init調用
作業系統 早期互斥量
早期sun mutex_init
Solaris9和AIX5.2 pthread_mutexattr_init
pthread_mutexattr_setpshared
pthread_mutex_init
pthread_mutexattr_destroy說明:ACE_OS::cond_init調用
作業系統 早期互斥量
早期sun cond_init
Solaris9和AIX5.2 pthread_cond_init 2. recursive_mutex_lock
調用函數ACE_OS:: thread_mutex_lock擷取互斥量
調用函數ACE_OS:: thread_mutex_unlock釋放互斥量
調用函數ACE_OS::cond_wait等待條件變數 3. recursive_mutex_lock
調用函數ACE_OS:: thread_mutex_lock擷取互斥量
調用函數ACE_OS:: thread_mutex_unlock釋放互斥量
調用函數ACE_OS::cond_signal釋放條件變數類成員變數
1. ACE_recursive_thread_mutex_t lock_;2. int removed_; 類型說明
類型ACE_thread_mutex_t說明
各種作業系統的對應情況(OS_NS_Thread.h)
作業系統 早期互斥量
早期sun mutex_t
windows CRITICAL_SECTION
Solaris9和AIX5.2 pthread_mutex_t類型ACE_recursive_thread_mutex_t說明
對於solaris和AIX來說pthread_mutex_t 並不支援遞迴申請,所以需要使用一套機制來類比,對應類型ACE_recursive_thread_mutex_t是一個包括線程互斥量和條件變數的結 構。而Windows的CRITICAL_SECTION本身支援遞迴申請。 函數說明
函數thread_mutex_lock
thread_mutex_lock函數調用EnterCriticalSection或者ACE_OS::mutex_lock進入互斥區。
windows EnterCriticalSection
Solaris9和AIX5.2 ACE_OS::mutex_lock說明:函數ACE_OS::mutex_lock根據具體作業系統調用不同函數擷取互斥量
早期SUN mutex_lock
Solaris9和AIX5.2 pthread_mutex_lock

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.