pthread_mutex_init() -- 互斥锁初始化|pthread_mutex_destroy()--互斥锁销毁
2014-02-12 11:04
134 查看
转自:http://www.groad.net/bbs/thread-2151-1-1.html
原型:
#include <pthread.h>
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
int pthread_mutex_destroy(pthread_mutex_t *mutex);
在使用互斥锁前,需要定义互斥锁(全局变量),定义互斥锁对象形式为:
pthread_mutex_t lock;
在 pthread_mutex_init()
函数中:
第一个参数 mutex 是指向要初始化的互斥锁的指针。
第二个参数 mutexattr 是指向属性对象的指针,该属性对象定义要初始化的互斥锁的属性。如果该指针为 NULL,则使用默认的属性。
此外,还可以用宏 PTHREAD_MUTEX_INITIALIZER 来初始化静态分配的互斥锁,如下:
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
对于静态初始化的互斥锁,不需要调用 pthread_mutex_init() 函数。
使用默认初始化互斥锁:
pthread_muteattr_t mattr;
int retval;
pthread_mutex_init (&lock, NULL);
使用自定义属性初始化互斥锁:
ret = pthread_mutex_init (&lock, &mttr);
销毁互斥锁:
pthread_mutex_destroy (&lock);
互斥锁初始化函数和销毁函数在执行成功后都返回 0,否则返回错误编号以指名错误。
原型:
#include <pthread.h>
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
int pthread_mutex_destroy(pthread_mutex_t *mutex);
在使用互斥锁前,需要定义互斥锁(全局变量),定义互斥锁对象形式为:
pthread_mutex_t lock;
在 pthread_mutex_init()
函数中:
第一个参数 mutex 是指向要初始化的互斥锁的指针。
第二个参数 mutexattr 是指向属性对象的指针,该属性对象定义要初始化的互斥锁的属性。如果该指针为 NULL,则使用默认的属性。
此外,还可以用宏 PTHREAD_MUTEX_INITIALIZER 来初始化静态分配的互斥锁,如下:
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
对于静态初始化的互斥锁,不需要调用 pthread_mutex_init() 函数。
使用默认初始化互斥锁:
pthread_muteattr_t mattr;
int retval;
pthread_mutex_init (&lock, NULL);
使用自定义属性初始化互斥锁:
ret = pthread_mutex_init (&lock, &mttr);
销毁互斥锁:
pthread_mutex_destroy (&lock);
互斥锁初始化函数和销毁函数在执行成功后都返回 0,否则返回错误编号以指名错误。
相关文章推荐
- pthread_mutex_init() -- 互斥锁初始化|pthread_mutex_destroy()--互斥锁销毁
- Linux学习之互斥量的封装一:封装创建(pthread_mutex_init)和销毁(pthread_mutex_destroy)
- 互斥锁 pthread_mutex_init()函数
- 互斥锁 pthread_mutex_init()函数
- 互斥锁 pthread_mutex_init()函数
- init-method和destroy-method指定的方法是该类里的哪个方法初始化和那个方法是销毁
- 互斥锁----pthread_mutex_t,pthread_mutex_init,pthread_mutex_lock,pthread_mutext_unlock,pthread_mutex_des
- 78——创建对象之,初始化(init-method)和销毁(destroy-method)(6条)
- pthread 线程库编程 一:线程与互斥锁 mutex_lock
- Linux下C语言多线程(第二篇)线程互斥pthread_mutex_t()
- 详解linux互斥锁 pthread_mutex和条件变量pthread_cond
- pthread_mutex_init等多线程函数的使用总结
- No manual entry for pthread_mutex_init
- 互斥信号量 pthread_mutex_t的使用
- Linux之多线程及互斥锁pthread_mutex_t的学习
- 互斥锁pthread_mutex_t的使用
- PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param)
- Linux pthread_mutex_init()函数
- C++ 静态变量初始化(static pthread_mutex_t 初始化)
- 线程相关函数(4)-pthread_mutex_lock(), pthread_mutex_unlock() 互斥锁