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

静态线程 更多...

#include <SThd.hxx>

xwos::SThd 的协作图:

Public 成员函数

 SThd (const char *name, xwstk_t *stack, 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)
 静态线程构造函数
 
 ~SThd ()
 
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 grab ()
 
xwer_t put ()
 

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 成员函数

void operator delete (void *obj)=delete
 

静态 Private 成员函数

static xwer_t sThdMainFunction (SThd *thd)
 
static void * operator new (xwsz_t sz)=delete
 

Private 属性

xwos_thd_d mThdDesc
 
struct xwos_thd mThd
 
xwer_t mCtorRc
 

详细描述

静态线程

在文件 SThd.hxx37 行定义.

构造及析构函数说明

◆ SThd()

xwos::SThd::SThd ( const char *  name,
xwstk_t stack,
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线程栈内存
[in]stack_size线程栈的大小
[in]stack_guard_size栈内存警戒线位置
[in]priority优先级
[in]detached是否为分离态
[in]privileged是否为特权线程

在文件 SThd.cxx18 行定义.

21 : mThdDesc{nullptr, 0}
22{
23 struct xwos_thd_attr attr({
24 .name = name,
25 .stack = stack,
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 SThd.hxx:42
xwos_thd_d mThdDesc
Definition SThd.hxx:40
static xwer_t sThdMainFunction(SThd *thd)
Definition SThd.cxx:45
struct xwos_thd mThd
Definition SThd.hxx:41
xwer_t(* xwos_thd_f)(void *)
XWOS API:线程函数指针类型
Definition thd.h:144
static xwer_t xwos_thd_init(struct xwos_thd *thd, xwos_thd_d *thdd, const struct xwos_thd_attr *attr, xwos_thd_f thdfunc, void *arg)
XWOS API:静态方式初始化线程
Definition thd.h:263
XWOS API:线程属性
Definition thd.h:162
函数调用图:

◆ ~SThd()

xwos::SThd::~SThd ( )

静态线程析构函数

在文件 SThd.cxx35 行定义.

36{
37}

成员函数说明

◆ detach()

xwer_t xwos::SThd::detach ( )
inline

终止线程并等待它退出

在文件 SThd.hxx66 行定义.

函数调用图:

◆ exit()

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

退出当前线程

在文件 SThd.hxx77 行定义.

函数调用图:

◆ freeze()

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

冻结当前线程

在文件 SThd.hxx83 行定义.

函数调用图:

◆ getCtorRc()

xwer_t xwos::SThd::getCtorRc ( )
inline

获取静态线程构造的结果

在文件 SThd.hxx61 行定义.

◆ getXwosObj()

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

获取XWOS对象指针

在文件 SThd.hxx67 行定义.

◆ grab()

xwer_t xwos::SThd::grab ( )
inline

增加引用计数

在文件 SThd.hxx70 行定义.

函数调用图:

◆ intr()

xwer_t xwos::SThd::intr ( )
inline

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

在文件 SThd.hxx62 行定义.

函数调用图:

◆ join()

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

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

在文件 SThd.hxx64 行定义.

函数调用图:

◆ operator delete()

void xwos::SThd::operator delete ( void *  obj)
privatedelete

◆ operator new()

static void * xwos::SThd::operator new ( xwsz_t  sz)
staticprivatedelete

◆ put()

xwer_t xwos::SThd::put ( )
inline

减少引用计数

在文件 SThd.hxx71 行定义.

函数调用图:

◆ quit()

xwer_t xwos::SThd::quit ( )
inline

通知线程退出

在文件 SThd.hxx63 行定义.

函数调用图:

◆ shouldFreeze()

bool xwos::SThd::shouldFreeze ( )
inlineprotected

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

在文件 SThd.hxx78 行定义.

函数调用图:

◆ shouldStop()

bool xwos::SThd::shouldStop ( )
inlineprotected

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

在文件 SThd.hxx79 行定义.

函数调用图:

◆ sleep()

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

当前线程睡眠一段时间

在文件 SThd.hxx80 行定义.

函数调用图:

◆ sleepFrom()

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

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

在文件 SThd.hxx82 行定义.

函数调用图:

◆ sleepTo()

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

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

在文件 SThd.hxx81 行定义.

函数调用图:

◆ sThdMainFunction()

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

在文件 SThd.cxx45 行定义.

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

◆ stop()

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

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

在文件 SThd.hxx65 行定义.

函数调用图:

◆ thdMainFunction()

xwer_t xwos::SThd::thdMainFunction ( )
protectedvirtual

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

在文件 SThd.cxx39 行定义.

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

◆ yield()

void xwos::SThd::yield ( )
inlineprotected

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

在文件 SThd.hxx76 行定义.

函数调用图:

结构体成员变量说明

◆ mCtorRc

xwer_t xwos::SThd::mCtorRc
private

线程构造的结果

在文件 SThd.hxx42 行定义.

◆ mThd

struct xwos_thd xwos::SThd::mThd
private

线程结构体

在文件 SThd.hxx41 行定义.

◆ mThdDesc

xwos_thd_d xwos::SThd::mThdDesc
private

线程描述符

在文件 SThd.hxx40 行定义.


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