多线程编程指南

尝试获取读锁

使用 rw_tryrdlock(3C) 可以尝试获取 rwlp 所指向的读写锁中的读锁。

rw_tryrdlock 语法

#include <synch.h>  (或  #include <thread.h>



int rw_tryrdlock(rwlock_t *rwlp);

如果读写锁中的写锁已经锁定,则 rw_tryrdlock() 将返回错误。否则,将获取读锁。对于 POSIX 线程,请参见pthread_rwlock_tryrdlock 语法

rw_tryrdlock 返回值

rw_tryrdlock() 在成功完成之后返回零。其他任何返回值都表示出现了错误。如果出现以下任一情况,该函数将失败并返回对应的值。


EINVAL

描述:

参数无效。


EFAULT

描述:

rwlp 指向的地址非法。


EBUSY

描述:

rwlp 所指向的读写锁已经锁定。