读写锁属性对象
索引:
- 初始化读写锁属性对象pthread_rwlockattr_init
- 释放读写锁属性对象pthread_rwlockattr_destroy
- 设置读写锁共享属性pthread_rwlockattr_setpshared
- 取读写锁共享属性pthread_rwlockattr_getpshared
1.初始化读写锁属性对象pthread_rwlockattr_init
#include <pthread.h> int pthread_rwlockattr_init(pthread_rwlockattr_t *attr); 返回值:函数成功返回0;任何其他返回值都表示错误
初始化一个读写锁属性对象,所有属性对象中的属性值都是缺省值。
如果对一个已经初始化过了的属性对象调用pthread_rwlockattr_init()函数,将会造成不可预见的结果。用读写锁属性对象创建了读写锁后,对读写锁属性对象进行修改不会改变相应读写锁的属性。
2.释放读写锁属性对象pthread_rwlockattr_destroy
#include <pthread.h> int pthread_rwlockattr_destroy(pthread_rwlockattr_t *attr); 返回值:函数成功返回0;任何其他返回值都表示错误
释放一个读写锁属性对象。释放了的读写锁属性对象不能被使用,否则会造成不能预测的结果。一般POSIX线程库中的pthread_rwlockattr_destroy函数会将属性对象置为非法值。
3.设置读写锁共享属性pthread_rwlockattr_setpshared
#include <pthread.h> int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr, \ int pshared); 返回值:函数成功返回0;任何其他返回值都表示错误
设置读写锁属性对象中的进程共享属性。
属性为PTHREAD_PROCESS_SHARED的读写锁可以被多个进程中的不同线程共享。属性为PTHREAD_PROCESS_PRIVATE的读写锁只能被当前进程中的线程所共享,其他进程中的线程如果试图访问这样的读写锁结果将不可预料。
缺省的进程共享属性值为PTHREAD_PROCESS_PRIVATE。
4.取读写锁共享属性pthread_rwlockattr_getpshared
#include <pthread.h> int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *attr, int *pshared); 返回值:函数成功返回0;任何其他返回值都表示错误
取读写锁属性对象中的进程共享属性。