在多线程的使用中,我们可以使用互斥锁来使多个线程保持同步。
互斥锁的使用过程中,主要有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)