互斥锁
- 创建
//互斥锁是静态分配的(不是动态申请的)
static pthread_mutex_t mutex_lock = PETHREAD_MUTEX_INITIALIZER;
- 加/解锁
#include <prhread.h>
int pthread_mutex_lock(pthread_mutex_t *mutex_lock);
int pthread_mutex_trylock(pthread_mutex_t *mutex_lock);
//如果互斥锁被锁住,返回 EBUSY
int pthread_mutex_unlock(pthread_mutex_t *mutex_lock);
//success:return 0; or return !0
- 互斥锁属性
#include <prhread.h>

本文介绍了Linux环境下,进程间同步的两种重要机制:互斥锁和条件变量。互斥锁用于保护资源的独占访问,防止数据竞争;条件变量则用于线程在特定条件满足时进行等待和被其他线程通知唤醒。详细讲解了互斥锁的创建、加/解锁及属性,以及条件变量的创建、等待与通知操作。在条件不满足时,持有锁的线程会进入等待状态,当条件满足(如变量X由0变为非0)时,会唤醒等待的线程。
最低0.47元/天 解锁文章
4738

被折叠的 条评论
为什么被折叠?



