XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
xwos::DThd类 参考

动态线程 更多...

#include <DThd.hxx>

xwos::DThd 的协作图:

Public 成员函数

 DThd (const char *name, xwsz_t stack_size, xwsz_t stack_guard_size=XWOS_STACK_GUARD_SIZE_DEFAULT, xwpr_t priority=XWOS_SKD_PRIORITY_RT_MIN, bool detached=false, bool privileged=true)
 动态线程构造函数
 
 ~DThd ()
 
xwer_t getCtorRc ()
 
xwer_t intr ()
 
xwer_t quit ()
 
xwer_t join (xwer_t *trc)
 
xwer_t stop (xwer_t *trc)
 
xwer_t detach ()
 
struct xwos_thdgetXwosObj ()
 
xwer_t acquire ()
 
xwer_t release ()
 

Protected 成员函数

virtual xwer_t thdMainFunction ()
 
void yield ()
 
void exit (xwer_t rc)
 
bool shouldFreeze ()
 
bool shouldStop ()
 
xwer_t sleep (xwtm_t dur)
 
xwer_t sleepTo (xwtm_t to)
 
xwer_t sleepFrom (xwtm_t *from, xwtm_t dur)
 
xwer_t freeze (void)
 

静态 Private 成员函数

static xwer_t sThdMainFunction (DThd *thd)
 

Private 属性

xwos_thd_d mThdDesc
 
xwer_t mCtorRc
 

详细描述

动态线程

在文件 DThd.hxx37 行定义.

构造及析构函数说明

◆ DThd()

xwos::DThd::DThd ( const char *  name,
xwsz_t  stack_size,
xwsz_t  stack_guard_size = XWOS_STACK_GUARD_SIZE_DEFAULT,
xwpr_t  priority = XWOS_SKD_PRIORITY_RT_MIN,
bool  detached = false,
bool  privileged = true 
)

动态线程构造函数

参数
[in]name线程名
[in]stack_size线程栈的大小
[in]stack_guard_size栈内存警戒线位置
[in]priority优先级
[in]detached是否为分离态
[in]privileged是否为特权线程

在文件 DThd.cxx18 行定义.

21 : mThdDesc{nullptr, 0}
22{
23 struct xwos_thd_attr attr({
24 .name = name,
25 .stack = NULL,
26 .stack_size = stack_size,
27 .stack_guard_size = stack_guard_size,
28 .priority = priority,
29 .detached = detached,
30 .privileged = privileged,
31 });
33}
xwer_t mCtorRc
Definition DThd.hxx:41
xwos_thd_d mThdDesc
Definition DThd.hxx:40
static xwer_t sThdMainFunction(DThd *thd)
Definition DThd.cxx:45
#define NULL
Definition type.h:28
xwer_t(* xwos_thd_f)(void *)
XWOS API:线程函数指针类型
Definition thd.h:144
static xwer_t xwos_thd_create(xwos_thd_d *thdd, const struct xwos_thd_attr *attr, xwos_thd_f thdfunc, void *arg)
XWOS API:使用动态申请内存方式创建线程并初始化
Definition thd.h:331
XWOS API:线程属性
Definition thd.h:162
函数调用图:

◆ ~DThd()

xwos::DThd::~DThd ( )

动态线程析构函数

在文件 DThd.cxx35 行定义.

36{
37}

成员函数说明

◆ acquire()

xwer_t xwos::DThd::acquire ( )
inline

增加引用计数

在文件 DThd.hxx67 行定义.

函数调用图:

◆ detach()

xwer_t xwos::DThd::detach ( )
inline

终止线程并等待它退出

在文件 DThd.hxx63 行定义.

函数调用图:

◆ exit()

void xwos::DThd::exit ( xwer_t  rc)
inlineprotected

退出当前线程

在文件 DThd.hxx74 行定义.

函数调用图:

◆ freeze()

xwer_t xwos::DThd::freeze ( void  )
inlineprotected

冻结当前线程

在文件 DThd.hxx80 行定义.

函数调用图:

◆ getCtorRc()

xwer_t xwos::DThd::getCtorRc ( )
inline

获取动态线程构造的结果

在文件 DThd.hxx58 行定义.

◆ getXwosObj()

struct xwos_thd * xwos::DThd::getXwosObj ( )
inline

获取XWOS对象指针

在文件 DThd.hxx64 行定义.

◆ intr()

xwer_t xwos::DThd::intr ( )
inline

中断线程的阻塞态和睡眠态

在文件 DThd.hxx59 行定义.

函数调用图:

◆ join()

xwer_t xwos::DThd::join ( xwer_t trc)
inline

等待线程结束并获取它的返回值

在文件 DThd.hxx61 行定义.

函数调用图:

◆ quit()

xwer_t xwos::DThd::quit ( )
inline

通知线程退出

在文件 DThd.hxx60 行定义.

函数调用图:

◆ release()

xwer_t xwos::DThd::release ( )
inline

减少引用计数

在文件 DThd.hxx68 行定义.

函数调用图:

◆ shouldFreeze()

bool xwos::DThd::shouldFreeze ( )
inlineprotected

判断当前线程是否可被冻结

在文件 DThd.hxx75 行定义.

函数调用图:

◆ shouldStop()

bool xwos::DThd::shouldStop ( )
inlineprotected

判断当前线程是否可以退出

在文件 DThd.hxx76 行定义.

函数调用图:

◆ sleep()

xwer_t xwos::DThd::sleep ( xwtm_t  dur)
inlineprotected

当前线程睡眠一段时间

在文件 DThd.hxx77 行定义.

函数调用图:

◆ sleepFrom()

xwer_t xwos::DThd::sleepFrom ( xwtm_t from,
xwtm_t  dur 
)
inlineprotected

当前线程从一个时间起点睡眠到另一个时间点

在文件 DThd.hxx79 行定义.

函数调用图:

◆ sleepTo()

xwer_t xwos::DThd::sleepTo ( xwtm_t  to)
inlineprotected

当前线程睡眠到一个时间点

在文件 DThd.hxx78 行定义.

函数调用图:

◆ sThdMainFunction()

xwer_t xwos::DThd::sThdMainFunction ( DThd thd)
staticprivate

在文件 DThd.cxx45 行定义.

46{
47 return obj->thdMainFunction();
48}
函数调用图:
这是这个函数的调用关系图:

◆ stop()

xwer_t xwos::DThd::stop ( xwer_t trc)
inline

通知线程退出,等待线程结束并获取它的返回值

在文件 DThd.hxx62 行定义.

函数调用图:

◆ thdMainFunction()

xwer_t xwos::DThd::thdMainFunction ( )
protectedvirtual

线程主函数,用户需要重新实现此函数

在文件 DThd.cxx39 行定义.

40{
41 return XWOK;
42}
#define XWOK
No error
Definition errno.h:182
这是这个函数的调用关系图:

◆ yield()

void xwos::DThd::yield ( )
inlineprotected

当前线程通知调度器重新调度

在文件 DThd.hxx73 行定义.

函数调用图:

结构体成员变量说明

◆ mCtorRc

xwer_t xwos::DThd::mCtorRc
private

线程构造的结果

在文件 DThd.hxx41 行定义.

◆ mThdDesc

xwos_thd_d xwos::DThd::mThdDesc
private

线程描述符

在文件 DThd.hxx40 行定义.


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