2013-06-24 17 views
0

我使用POSIX線程的應用程序訪問的共享庫,即用即利用具有一些全局變量靜態庫,我沒有在任何libray線程執行。 有人告訴我,你應該如果你是在該文件中其他簡單的互斥使用並行線程使用pthread_mutex。哪種類型的鎖機制,通過POSIX線程

由於庫是線程免費的,所以它鎖(特別是互斥)庫用來保護全局。

我試過的Linux /內核/ mutex.h即明顯不好用內核的對象在用戶空間和編譯器使用過警告。 那麼我會在哪裏得到這個簡單的互斥體!

+0

如果你指的是pthread_mutex_t,你會在pthread.h中找到它們。 –

回答

0
#include<pthread.h> 

int main(int argc, char** argv){ 
    pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; 
    pthread_mutex_lock(&lock); 
    pthread_mutex_unlock(&lock); 
} 

你可以編譯這個:gcc -o mutex program.c -pthread -Wall -Wextra -pedantic(注意不是-lpthread一個解釋請參見本線EmployedRussian的答案:Undefined reference to pthread_create in Linux

如果你得到這個編譯你在那裏