参考文章: 《linux下多种锁的比较》 https://blog.csdn.net/kowzb/article/details/77160249
总体
锁的使用,遵循“谁来加锁,就由谁解锁”的原则
一般讨论的锁是线程锁,不是进程锁。 linux 有 pthread 库对线程锁提供支持。pthread 提供了自旋锁,互斥锁,条件变量等。
互斥锁
涉及到的操作有:
// 创建互斥锁pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t*mutexattr);// 销毁互斥锁int pthread_mutex_destroy(pthread_mutex_t *mutex);// 加锁int pthread_mutex_lock(pthread_mutex_t *mutex);int pthread_mutex_unlock(pthread_mutex_t *mutex);int pthread_mutex_trylock(pthread_mutex_t *mutex);
