acl  3.5.3.0
acl::thread类 参考

#include <thread.hpp>

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

Public 成员函数

 thread (void)
 
virtual ~thread (void)
 
bool start (bool sync=false)
 
bool wait (void **out=NULL)
 
threadset_detachable (bool yes)
 
threadset_stacksize (size_t size)
 
unsigned long thread_id (void) const
 
- Public 成员函数 继承自 acl::acl::thread_job
 thread_job (void)
 
virtual ~thread_job (void)
 
virtual void * run (void)=0
 
virtual void init (void)
 

静态 Public 成员函数

static unsigned long thread_self (void)
 
static unsigned long self (void)
 

额外继承的成员函数

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

详细描述

线程纯虚类,该类的接口定义类似于 Java 的接口定义,子类需要实现 基类的纯虚函数,使用者通过调用 thread::start() 启动线程过程

在文件 thread.hpp38 行定义.

构造及析构函数说明

◆ thread()

acl::thread::thread ( void  )

◆ ~thread()

virtual acl::thread::~thread ( void  )
virtual

成员函数说明

◆ self()

static unsigned long acl::thread::self ( void  )
inlinestatic

在文件 thread.hpp89 行定义.

90  {
91  return thread_self();
92  }
static unsigned long thread_self(void)

◆ set_detachable()

thread& acl::thread::set_detachable ( bool  yes)

在调用 start 前调用此函数可以设置所创建线程是否为分离 (detachable) 状态;如果未调用此函数,则所创建的线程默认为非分离状态,在非分离状 态下,其它线程可以 wait 本线程对象,否则禁止 wait 本线程对象;在非 分离状态下,其它线程必须要 wait 本线程,否则会引起内存泄露。

参数
yes{bool} 是否为分离状态
返回
{thread&}

◆ set_stacksize()

thread& acl::thread::set_stacksize ( size_t  size)

在调用 start 前调用此函数可以设置所创建线程的堆栈大小

参数
size{size_t} 线程堆栈大小,当该值为 0 或未 调用此函数,则所创建的线程堆栈大小为系统的默认值
返回
{thread&}

◆ start()

bool acl::thread::start ( bool  sync = false)

开始启动线程过程,一旦该函数被调用,则会立即启动一个新的 子线程,在子线程中执行基类 thread_job::run 过程

返回
{bool} 是否成功创建线程

◆ thread_id()

unsigned long acl::thread::thread_id ( void  ) const

在调用 start 后调用此函数可以获得所创建线程的 id 号

返回
{unsigned long}

◆ thread_self()

static unsigned long acl::thread::thread_self ( void  )
static

当前调用者所在线程的线程 id 号

返回
{unsigned long}

◆ wait()

bool acl::thread::wait ( void **  out = NULL)

当创建线程时为非 detachable 状态,则必须调用此函数等待线程结束; 若创建线程时为 detachable 状态时,禁止调用本函数

参数
out{void**} 当该参数非空指针时,该参数用来存放 线程退出前返回的参数
返回
{bool} 是否成功

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