XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
thd.h 文件参考

操作系统抽象层:线程 更多...

#include <xwos/standard.h>
#include <xwos/osal/jack/thd.h>
#include <xwos/osal/time.h>
#include <xwos/osal/skd.h>
thd.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  xwos_thd
 XWOS API:线程对象 更多...
 
struct  xwos_thd_d
 XWOS API:线程对象描述符 更多...
 
struct  xwos_thd_attr
 XWOS API:线程属性 更多...
 
struct  xwos_thd_desc
 XWOS API:线程描述 更多...
 

宏定义

#define XWOS_THD_NILD   ((xwos_thd_d){NULL, 0,})
 XWOS API:空的线程对象描述符
 
#define XWOS_STACK_SIZE_DEFAULT   XWMMCFG_STACK_SIZE_DEFAULT
 XWOS API:栈内存的默认大小
 
#define XWOS_STACK_SIZE_MIN   XWMMCFG_STACK_SIZE_MIN
 XWOS API:栈内存大小的最小值
 
#define XWOS_STACK_GUARD_SIZE_DEFAULT   XWMMCFG_STACK_GUARD_SIZE_DEFAULT
 XWOS API:默认的栈警戒线
 
#define XWOS_THD_LOCAL_DATA_NUM   XWOSDL_THD_LOCAL_DATA_NUM
 XWOS API:线程本地数据指针的数量
 

类型定义

typedef xwer_t(* xwos_thd_f) (void *)
 XWOS API:线程函数指针类型
 

函数

static void xwos_thd_attr_init (struct xwos_thd_attr *attr)
 XWOS API:初始化线程属性结构体
 
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:静态方式初始化线程
 
static xwer_t xwos_thd_grab (xwos_thd_d thdd)
 XWOS API:增加线程对象的引用计数
 
static xwer_t xwos_thd_put (xwos_thd_d thdd)
 XWOS API:减少线程对象的引用计数
 
static xwer_t xwos_thd_create (xwos_thd_d *thdd, const struct xwos_thd_attr *attr, xwos_thd_f thdfunc, void *arg)
 XWOS API:使用动态申请内存方式创建线程并初始化
 
static xwer_t xwos_thd_acquire (xwos_thd_d thdd)
 XWOS API:检查线程对象的标签并增加引用计数
 
static xwer_t xwos_thd_release (xwos_thd_d thdd)
 XWOS API:检查对象的标签并减少引用计数
 
static xwer_t xwos_thd_get_attr (xwos_thd_d thdd, struct xwos_thd_attr *attr)
 XWOS API:获取线程的属性
 
static xwer_t xwos_thd_intr (xwos_thd_d thdd)
 XWOS API:中断线程的阻塞态和睡眠态
 
static xwer_t xwos_thd_quit (xwos_thd_d thdd)
 XWOS API:通知线程退出
 
static xwer_t xwos_thd_join (xwos_thd_d thdd, xwer_t *trc)
 XWOS API:等待线程结束,回收线程内存资源,抛出它的返回值
 
static xwer_t xwos_thd_stop (xwos_thd_d thdd, xwer_t *trc)
 XWOS API:终止线程并等待它退出,回收线程内存资源,并抛出线程的返回值
 
static xwer_t xwos_thd_detach (xwos_thd_d thdd)
 XWMP API:分离线程
 
static xwer_t xwos_thd_migrate (xwos_thd_d thdd, xwid_t dstcpu)
 XWOS API:将线程迁移到目标CPU
 
static xwos_thd_d xwos_cthd_self (void)
 XWOS API:获取当前线程的对象描述符
 
static void xwos_cthd_get_attr (struct xwos_thd_attr *attr)
 XWOS API:获取线程自身的属性
 
static void xwos_cthd_yield (void)
 XWOS API:当前线程通知调度器重新调度
 
static void xwos_cthd_exit (xwer_t rc)
 XWOS API:退出当前线程
 
static bool xwos_cthd_shld_frz (void)
 XWOS API:判断当前线程是否可被冻结
 
static bool xwos_cthd_shld_stop (void)
 XWOS API:判断当前线程是否可以退出
 
static bool xwos_cthd_frz_shld_stop (bool *frozen)
 XWOS API:判断当前线程是否可被冻结,如果是,就冻结线程, 之后再判断线程是否可以退出
 
static xwer_t xwos_cthd_sleep (xwtm_t dur)
 XWOS API:线程睡眠一段时间
 
static xwer_t xwos_cthd_sleep_to (xwtm_t to)
 XWOS API:线程睡眠到一个时间点
 
static xwer_t xwos_cthd_sleep_from (xwtm_t *from, xwtm_t dur)
 XWOS API:线程从一个时间起点睡眠到另一个时间点
 
static xwer_t xwos_cthd_freeze (void)
 XWOS API:冻结当前线程
 
static xwer_t xwos_thd_set_data (xwos_thd_d thdd, xwsq_t pos, void *data)
 XWOS API:设置线程的本地数据指针
 
static xwer_t xwos_thd_get_data (xwos_thd_d thdd, xwsq_t pos, void **databuf)
 XWOS API:获取线程的本地数据指针
 
static xwer_t xwos_cthd_set_data (xwsq_t pos, void *data)
 XWOS API:设置当前线程的本地数据指针
 
static xwer_t xwos_cthd_get_data (xwsq_t pos, void **databuf)
 XWOS API:获取当前线程的本地数据指针
 

详细描述

操作系统抽象层:线程

作者

在文件 thd.h 中定义.