系统相关
首页 > 系统相关> > linux互斥量pthread_mutex_t相关函数

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,从而避免死锁。

 

标签:加锁,int,linux,restrict,互斥,mutex,pthread
来源: https://www.cnblogs.com/yavn/p/15704541.html