acl  3.5.3.0
acl::thread_mutex类 参考

#include <thread_mutex.hpp>

+ 类 acl::thread_mutex 继承关系图:
+ acl::thread_mutex 的协作图:

Public 成员函数

 thread_mutex (bool recursive=true)
 
 ~thread_mutex (void)
 
bool lock (void)
 
bool try_lock (void)
 
bool unlock (void)
 
acl_pthread_mutex_tget_mutex (void) const
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

线程互斥锁

在文件 thread_mutex.hpp19 行定义.

构造及析构函数说明

◆ thread_mutex()

acl::thread_mutex::thread_mutex ( bool  recursive = true)

构造方法

参数
recursive{bool} 是否启用递归锁方式

◆ ~thread_mutex()

acl::thread_mutex::~thread_mutex ( void  )

成员函数说明

◆ get_mutex()

acl_pthread_mutex_t* acl::thread_mutex::get_mutex ( void  ) const

获得 acl 中 C 版本的系统类型的线程锁

返回
{acl_pthread_mutex_t*}

◆ lock()

bool acl::thread_mutex::lock ( void  )

对线程锁进行加锁,一直到加锁成功或内部失败(一般不会失败,除非是系统问题)

返回
{bool} 返回 false 说明线程锁有问题

被这些函数引用 acl::thread_trigger< T >::del(), acl::tbox< T >::lock(), acl::tbox_array< T >::lock(), acl::tbox< T >::pop(), acl::tbox_array< T >::pop(), acl::tbox< T >::push() , 以及 acl::tbox_array< T >::push().

+ 这是这个函数的调用关系图:

◆ try_lock()

bool acl::thread_mutex::try_lock ( void  )

尝试性加锁,无论成功与否都会立即返回

返回
{bool} 返回 true 表示加锁成功,返回 false 表示加锁失败

◆ unlock()

bool acl::thread_mutex::unlock ( void  )

解线程锁

返回
{bool} 返回 false 表示解锁失败,有可能之前并未加锁成功所致

被这些函数引用 acl::thread_trigger< T >::del(), acl::tbox< T >::pop(), acl::tbox_array< T >::pop(), acl::tbox< T >::push(), acl::tbox_array< T >::push(), acl::tbox< T >::unlock() , 以及 acl::tbox_array< T >::unlock().

+ 这是这个函数的调用关系图:

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