|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何定義一個遞歸互斥變量
本人在Linux上寫程序時遇到這樣一個問題:
我同時開了好幾個線程,這幾個線程需要同步,因此定義了一個互斥變量
pthread_mutex_t a_mutex = PTHREAD_MUTEX_INITIALIZER;
但是,幾個線程都鎖住這個互斥變量時,則會產生死鎖,因此定義了一個遞歸變量:
pthread_mutex_t a_mutex =
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
但是編譯時則產生:變量沒有聲明的錯誤,我用的頭文件是:
#include <stdio.h>;
#include <pthread.h>;
#include <stdlib.h>;
請教各位高手,我是不是還得要包括別的頭文件才能使用遞歸互斥變量啊!謝謝了! |
如何定義一個遞歸互斥變量
應該是PTHREAD_MUTEX_RECURSIVE_NP吧? |
| |