读写锁与互斥量类似,也是有属性的。可以用pthread_rwlockattr_init 初始化pthread_rwlockattr_t结构,用pthread_rwlockattr_destroy反初始化该结构。

#include <pthread.h>
int pthread_rwlockattr_init(pthread_rwlockattr_t *attr);
int pthread_rwlockattr_destroy(pthread_rwlockattr_t*attr);
//两个函数的返回值:若成功,返回0;否则,返回错误编号

读写锁支持的唯一属性是进程共享属性。它与互斥量的进程共享属性是相同的。就像互斥量的进程共享属性一样,有一对函数用于读取和设置读写锁的进程共享属性。

#include <pthread.h>
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict attr,int *restrict pshared);
int pthread_rwlockattr_setpshared(pthread_rwlock-attr_t *attr,int pshared);
//两个函数的返回值:若成功,返回0;否则,返回错误编号

虽然POSIX只定义了一个读写锁属性,但不同平台的实现可以自由地定义额外的、非标准的属性。

results matching ""

    No results matching ""