在多線程的使用中,我們可以使用互斥鎖來使多個線程保持同步。
互斥鎖的使用過程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock這幾個函數以完成鎖的初始化,鎖的銷毀,上鎖和釋放鎖操作。
1.聲明一個互斥鎖
pthread_mutex_t _lock;
//初始化
pthread_mutex_init(&_lock, NULL);
2.上鎖 解鎖
//上鎖
pthread_mutex_lock(&_lock)
//這里加入可能產生死鎖的操作 比如像文件寫入 讀取之類
//解鎖
pthread_mutex_unlock(&_lock)
2.釋放鎖
pthread_mutex_destroy(&_lock)