#include <pthread.h>
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *mutexattr);
int pthread_mutex_destroy(pthread_mutex_t *mutex);
返回: 成功返回0,否则返回错误编号
参数
mutex:互斥锁
mutexattr:互斥锁创建方式
PTHREAD_MUTEX_INITIALIZER 创建快速互斥锁 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 创建递归互斥锁 PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP 创建检错互斥锁
使用 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 和 PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP初始化互斥锁编译器报错。需要在gcc编译时加上-D_GNU_SOURCE,使用-D选项指定_GNU_SOURCE宏
gcc xxx.c -o xxx -D _GNU_SOURCE
记录一下
发现一个详细的互斥锁的的解释