Apollo 10.0
自动驾驶开放平台
apollo::cyber::base::PthreadRWLock类 参考

#include <pthread_rw_lock.h>

apollo::cyber::base::PthreadRWLock 的协作图:

Public 成员函数

 PthreadRWLock (bool writer)
 
 PthreadRWLock ()
 
 ~PthreadRWLock ()
 
void ReadLock ()
 
void ReadUnlock ()
 
void WriteLock ()
 
void WriteUnlock ()
 

友元

class ReadLockGuard< PthreadRWLock >
 
class WriteLockGuard< PthreadRWLock >
 

详细描述

在文件 pthread_rw_lock.h27 行定义.

构造及析构函数说明

◆ PthreadRWLock() [1/2]

apollo::cyber::base::PthreadRWLock::PthreadRWLock ( bool  writer)
inlineexplicit

在文件 pthread_rw_lock.h32 行定义.

32 {
33 pthread_rwlockattr_init(&rwlock_attr_);
34 if (writer) {
35 pthread_rwlockattr_setkind_np(
36 &rwlock_attr_, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
37 }
38 pthread_rwlockattr_setpshared(&rwlock_attr_, PTHREAD_PROCESS_SHARED);
39 pthread_rwlock_init(&rwlock_, &rwlock_attr_);
40 }

◆ PthreadRWLock() [2/2]

apollo::cyber::base::PthreadRWLock::PthreadRWLock ( )
inline

在文件 pthread_rw_lock.h41 行定义.

◆ ~PthreadRWLock()

apollo::cyber::base::PthreadRWLock::~PthreadRWLock ( )
inline

在文件 pthread_rw_lock.h43 行定义.

43 {
44 pthread_rwlock_destroy(&rwlock_);
45 pthread_rwlockattr_destroy(&rwlock_attr_);
46 }

成员函数说明

◆ ReadLock()

void apollo::cyber::base::PthreadRWLock::ReadLock ( )
inline

在文件 pthread_rw_lock.h61 行定义.

61{ pthread_rwlock_rdlock(&rwlock_); }

◆ ReadUnlock()

void apollo::cyber::base::PthreadRWLock::ReadUnlock ( )
inline

在文件 pthread_rw_lock.h63 行定义.

63{ pthread_rwlock_unlock(&rwlock_); }

◆ WriteLock()

void apollo::cyber::base::PthreadRWLock::WriteLock ( )
inline

在文件 pthread_rw_lock.h65 行定义.

65{ pthread_rwlock_wrlock(&rwlock_); }

◆ WriteUnlock()

void apollo::cyber::base::PthreadRWLock::WriteUnlock ( )
inline

在文件 pthread_rw_lock.h67 行定义.

67{ pthread_rwlock_unlock(&rwlock_); }

友元及相关函数文档

◆ ReadLockGuard< PthreadRWLock >

friend class ReadLockGuard< PthreadRWLock >
friend

在文件 pthread_rw_lock.h67 行定义.

◆ WriteLockGuard< PthreadRWLock >

friend class WriteLockGuard< PthreadRWLock >
friend

在文件 pthread_rw_lock.h67 行定义.


该类的文档由以下文件生成: