XWOS API
4.0
XWOS C/C++ API参考手册
|
操作系统抽象层:线程 更多...
#include <xwos/standard.h>
#include <xwos/osal/jack/thd.h>
#include <xwos/osal/time.h>
#include <xwos/osal/skd.h>
结构体 | |
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:获取当前线程的本地数据指针 | |
操作系统抽象层:线程
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
在文件 thd.h 中定义.