2013-02-01 102 views
1

從手冊頁:什麼是默認互斥量屬性?

pthread_mutex_init()功能應通過初始化互斥與attr指定屬性引用的互斥鎖。
如果attr爲NULL,則使用默認的互斥量屬性;效果應該與傳遞默認互斥對象的地址相同。初始化成功後,互斥鎖的狀態將被初始化並解鎖。

什麼是默認的互斥鎖屬性?
使用此代碼設置的內容:pthread_mutex_t mutexLock = PTHREAD_MUTEX_INITIALIZER;

回答

0

檢查此鏈接:http://www.sourceware.org/pthreads-win32/manual/pthread_mutex_init.html

pthread_mutex_t fastmutex = PTHREAD_MUTEX_INITIALIZER; 

pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER; 

pthread_mutex_t errchkmutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER; 

pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; 

pthread_mutex_t errchkmutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP; 
2

你要挖圍繞在礦井POSIX規範以獲取互斥默認屬性:

  • pthread_mutexattr_settype()

    PTHREAD_MUTEX_DEFAULT

    試圖遞歸鎖定此類型的互斥鎖導致 未定義的行爲。試圖解鎖這種類型的互斥體,其中 未被調用線程鎖定導致未定義的行爲。 試圖解鎖未鎖定的此類型的互斥結果導致 處於未定義的行爲狀態。允許實現將此互斥體 映射到其他互斥體類型之一。

    注意,這可能是從其他的互斥鎖類型不同,但它可以映射到PTHREAD_MUTEX_NORMALPTHREAD_MUTEX_ERRORCHECK

  • pthread_mutexattr_setpshared()

    該屬性的缺省值是PTHREAD_PROCESS_PRIVATE

對於其他屬性,規格似乎並不清楚狀態。這些屬性是:

相關問題