互斥量的使用:
// 執行緒同步之互斥量
#include #include #include #include #include #include #include using namespace std;
// 全域性變數,兩個執行緒都可以修改,因此修改的時候需要加鎖
int g_value = 0;
// 互斥量
pthread_mutex_t lock;
// 執行緒函式1
void* thread_func1(void* data)
return 0;
}// 執行緒函式2
void* thread_func2(void* data)
return 0;
}// 主函式
int main(int argc,char* argv)
{ // 初始化互斥量
pthread_mutex_init(&lock,0);
// 定義兩個執行緒id
pthread_t thd1,thd2;
// 建立兩個執行緒
pthread_create(&thd1,0,thread_func1,0);
pthread_create(&thd2,0,thread_func2,0);
// 等待兩個執行緒執行結束
pthread_join(thd1,0);
pthread_join(thd2,0);
// 銷毀互斥量
pthread_mutex_destroy (&lock);
cout << g_value<
執行緒同步 互斥量
下面以乙個簡單的多執行緒程式來演示如何使用互斥量來進行執行緒同步。在主線程中,我們建立子執行緒,並把陣列msg作為引數傳遞給子執行緒,然後主線程呼叫函式pthread mutex lock對互斥量加鎖,等待輸入,輸入完成後,呼叫函式pthread mutex unlock對互斥量解鎖,從而使執行緒函...
執行緒同步(互斥量)
原理 建立與銷毀 include int pthread mutex init pthread mutex t restrict mutex,const pthread mutexattr t restrict attr int pthread mutex destroy pthread mutex...
執行緒同步 使用互斥量
1.初始化與銷毀互斥量 linux使用pthread mutex t 資料型別表示互斥量,並使用pthread mutex init函式對互斥量進行初始化。include int pthread mutex init pthread mutex t restrict mutex,const pthr...