linux互斥量pthread_mutex_t相关函数

0. 头文件

#include <pthread.h>

 

1. 初始化

int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);

简单的使用可以使用默认的属性初始化互斥量,第二个参数设置为NULL即可。

 

2. 销毁

int pthread_mutex_destroy(pthread_mutex_t *mutex);

3. 加解锁

int pthread_mutex_lock(pthread_mutex_t *mutex);

int pthread_mutex_unlock(pthread_mutex_t *mutex);


int pthread_mutex_trylock(pthread_mutex_t *mutex);

函数pthread_mutex_trylock会尝试对互斥量加锁,如果该互斥量已经被锁住,函数调用失败,返回EBUSY,否则加锁成功返回0,线程不会被阻塞。

 

int pthread_mutex_timedlock(pthread_mutex_t *restrict mutex, const struct timesec *restrict tsptr);

pthread_mutex_timedlock函数允许线程阻塞特定时间,如果加锁失败就会返回ETIMEDOUT,从而避免死锁。

 

上一篇:为什么要学习Take Command?


下一篇:sql语句实现分页与使用Take和Skip实现分页