acl  3.5.3.0
acl::thread_cond类 参考

#include <thread_cond.hpp>

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

Public 成员函数

 thread_cond (thread_mutex *mutex=NULL)
 
 ~thread_cond (void)
 
bool wait (long long microseconds=-1, bool locked=false)
 
bool notify (void)
 
bool notify_all (void)
 
thread_mutexget_mutex (void) const
 
acl_pthread_cond_tget_cond (void) const
 

额外继承的成员函数

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

详细描述

线程条件变量

在文件 thread_cond.hpp21 行定义.

构造及析构函数说明

◆ thread_cond()

acl::thread_cond::thread_cond ( thread_mutex mutex = NULL)

构造方法

参数
mutex{thread_mutex*} 当该参数非 NULL 时,内部自动引用 该线程锁,否则,内部创建线程锁

◆ ~thread_cond()

acl::thread_cond::~thread_cond ( void  )

成员函数说明

◆ get_cond()

acl_pthread_cond_t* acl::thread_cond::get_cond ( void  ) const

获得系统类型的线程条件变量对象

返回
{acl_pthread_cond_t*}

◆ get_mutex()

thread_mutex& acl::thread_cond::get_mutex ( void  ) const

获得与该线程条件变量绑定的线程互斥锁

返回
{thread_mutex&}

◆ notify()

bool acl::thread_cond::notify ( void  )

通知一个或几个等待在线程条件变量上的线程,表示条件变量就结

返回
{bool} 返回 false 表示通知失败

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

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

◆ notify_all()

bool acl::thread_cond::notify_all ( void  )

通知所有等待在线程条件变量上的线程,表示条件变量就结

返回
{bool} 返回 false 表示通知失败

◆ wait()

bool acl::thread_cond::wait ( long long  microseconds = -1,
bool  locked = false 
)

等待线程条件变量就绪

参数
microseconds{long long} 等待条件变量就绪的超时时间(微秒级)

0 时表示等待超时的时间

== 0,不等待 < 0 则一直等待直到条件变量就绪
locked{bool} 该参数表明是否已经将锁加锁,如果还未加锁,则 内部会先自动加锁,方法返回前再解锁;如果外部已经加锁,则内部不对 互斥锁做加锁/解锁处理
返回
{bool} 返回 true 表示条件变量就绪,否则表示超时或没被通知

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

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

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