#include <thread.hpp>
线程纯虚类,该类的接口定义类似于 Java 的接口定义,子类需要实现 基类的纯虚函数,使用者通过调用 thread::start() 启动线程过程
在文件 thread.hpp 第 38 行定义.
◆ thread()
acl::thread::thread |
( |
void |
| ) |
|
◆ ~thread()
virtual acl::thread::~thread |
( |
void |
| ) |
|
|
virtual |
◆ self()
static unsigned long acl::thread::self |
( |
void |
| ) |
|
|
inlinestatic |
在文件 thread.hpp 第 89 行定义.
static unsigned long thread_self(void)
◆ set_detachable()
thread& acl::thread::set_detachable |
( |
bool |
yes | ) |
|
在调用 start 前调用此函数可以设置所创建线程是否为分离 (detachable) 状态;如果未调用此函数,则所创建的线程默认为非分离状态,在非分离状 态下,其它线程可以 wait 本线程对象,否则禁止 wait 本线程对象;在非 分离状态下,其它线程必须要 wait 本线程,否则会引起内存泄露。
- 参数
-
- 返回
- {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} 是否成功
该类的文档由以下文件生成: