pthread_mutex_init() -- 互斥锁初始化|pthread_mutex_destroy()--互斥锁销毁
2014-07-21 13:12
676 查看
原型:
#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_t,pthread_mutex_init,pthread_mutex_lock,pthread_mutext_unlock,pthread_mutex_des
- 互斥锁 pthread_mutex_init()函数
- 78——创建对象之,初始化(init-method)和销毁(destroy-method)(6条)
- 互斥锁 pthread_mutex_init()函数
- 互斥锁 pthread_mutex_init()函数
- init-method和destroy-method指定的方法是该类里的哪个方法初始化和那个方法是销毁
- 互斥锁pthread_mutex_t的使用(转载)
- pthread_mutex_t pthread_mutex_init pthread_mutex_lock -- pthread_mutex_unlock pthread_delay_np
- pthread_mutex_t的静态初始化
- pthread_mutex_t的静态初始化 http://m.blog.csdn.net/blog/grantxx/8177130
- pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock,函数(线程互斥的例子)
- 互斥锁pthread_mutex_t的使用(转载)
- Linux多线程之互斥锁pthread_mutex_t
- 互斥锁 pthread_mutex_init()函数
- pthread_mutex_t 互斥锁
- 互斥锁pthread_mutex_t的使用
- 关于pthread_mutex_t的初始化 http://www.blogbus.com/kavine-logs/46146510.html
- man pthread_mutex_init 或 man pthread_mutex_lock 没有结果的解决的方法