pthread_mutex_init(创建):
需要的头文件:
#include <pthread.h>
参数原型:
int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr);
mutex:互斥锁
mutexattr:
PTHREAD_MUTEX_INITIALIZER:创建快速互斥锁
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP:创建递归互斥锁
PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP:创建检错互斥锁
例如:
pthread_mutex_t mutex;
pthread_mutex_init(&mutex,NULL);
返回值:成功返回0
失败返回错误码
pthread_mutex_destroy(销毁):
需要的头文件:
#include <pthread.h>
参数原型:int pthread_mutex_destroy(pthread_mutex_t *mutex);
mutex:互斥锁
例如:pthread_mutex_destroy(&mutex);
返回值:成功返回0
失败返回-1
pthread_mutex_lock(加锁):
需要的头文件:
#include <pthread.h>
参数原型:int pthread_mutex_lock(pthread_mutex_t *mutex);
mutex:互斥锁
例如:
pthread_mutex_lock(&mutex);
返回值:成功返回0
失败返回-1
pthread_mutex_unlock(解锁):
需要的头文件:
#include <pthread.h>
参数原型:int pthread_mutex_unlock(pthread_mutex_t *mutex);
mutex:互斥锁
例如:
pthread_mutex_unlock(&mutex);
返回值:成功返回0
失败返回-1
pthread_mutex_trylock(判断是否上锁):
需要的头文件:
#include <pthread.h>
参数原型:int pthread_mutex_trylock(pthread_mutex_t *mutex);
mutex:互斥锁
例如:
pthread_mutex_trylock(&mutex);
返回值:成功返回0
失败返回-1
互斥锁的使用:
线程t1在gata==3时结束: