FFRT
概述
FFRT(Function Flow运行时)是支持Function Flow编程模型的软件运行时库,用于调度执行开发者基于Function Flow编程模型开发的应用。
系统能力: SystemCapability.Resourceschedule.Ffrt.Core
起始版本: 10
汇总
文件
名称 | 描述 |
---|---|
condition_variable.h | 声明条件变量提供的C接口. |
mutex.h | 声明mutex提供的C接口. |
queue.h | 声明串行队列提供的C接口. |
sleep.h | 声明sleep和yield C接口. |
task.h | 声明任务提供的C接口. |
type_def.h | 定义通用类型. |
结构体
名称 | 描述 |
---|---|
struct ffrt_function_header_t | 任务执行体. |
struct ffrt_dependence_t | 依赖数据结构. |
struct ffrt_deps_t | 依赖结构定义. |
struct ffrt_task_attr_t | 并行任务属性结构. |
struct ffrt_queue_attr_t | 串行队列属性结构. |
struct ffrt_condattr_t | FFRT条件变量属性结构. |
struct ffrt_mutexattr_t | FFRT锁属性结构. |
struct ffrt_mutex_t | FFRT互斥锁结构. |
struct ffrt_cond_t | FFRT条件变量结构. |
类型定义
名称 | 描述 |
---|---|
typedef void * ffrt_queue_t | 队列句柄. |
typedef int ffrt_qos_t | qos类型. |
typedef void(* ffrt_function_t ) (void *) | 任务执行函数指针类型. |
typedef void * ffrt_task_handle_t | 并行任务句柄. |
枚举
名称 | 描述 |
---|---|
ffrt_queue_type_t { ffrt_queue_serial, ffrt_queue_max } | 队列类型. |
ffrt_qos_default_t { ffrt_qos_inherit = -1, ffrt_qos_background, ffrt_qos_utility, ffrt_qos_default, ffrt_qos_user_initiated } |
任务的qos类型. |
ffrt_storage_size_t { ffrt_task_attr_storage_size = 128, ffrt_auto_managed_function_storage_size = 64 + sizeof(ffrt_function_header_t), ffrt_mutex_storage_size = 64, ffrt_cond_storage_size = 64, ffrt_queue_attr_storage_size = 128 } |
多种类型数据结构分配大小定义. |
ffrt_function_kind_t { ffrt_function_kind_general, ffrt_function_kind_queue } | 任务类型. |
ffrt_dependence_type_t { ffrt_dependence_data, ffrt_dependence_task } | 依赖类型. |
ffrt_error_t { ffrt_error = -1, ffrt_success = 0, ffrt_error_nomem = ENOMEM, ffrt_error_timedout = ETIMEDOUT, ffrt_error_busy = EBUSY, ffrt_error_inval = EINVAL } |
FFRT错误码. |
函数
名称 | 描述 |
---|---|
FFRT_C_API int ffrt_cond_init (ffrt_cond_t *cond, const ffrt_condattr_t *attr) | 初始化条件变量. |
FFRT_C_API int ffrt_cond_signal (ffrt_cond_t *cond) | 唤醒阻塞在条件变量上的一个任务. |
FFRT_C_API int ffrt_cond_broadcast (ffrt_cond_t *cond) | 唤醒阻塞在条件变量上的所有任务. |
FFRT_C_API int ffrt_cond_wait (ffrt_cond_t *cond, ffrt_mutex_t *mutex) | 条件变量等待函数,条件变量不满足时阻塞当前任务. |
FFRT_C_API int ffrt_cond_timedwait (ffrt_cond_t *cond, ffrt_mutex_t *mutex, const struct timespec *time_point) | 条件变量超时等待函数,条件变量不满足时阻塞当前任务,超时等待返回. |
FFRT_C_API int ffrt_cond_destroy (ffrt_cond_t *cond) | 销毁掉件变量. |
FFRT_C_API int ffrt_mutex_init (ffrt_mutex_t *mutex, const ffrt_mutexattr_t *attr) | 初始化mutex. |
FFRT_C_API int ffrt_mutex_lock (ffrt_mutex_t *mutex) | 获取mutex. |
FFRT_C_API int ffrt_mutex_unlock (ffrt_mutex_t *mutex) | 释放mutex. |
FFRT_C_API int ffrt_mutex_trylock (ffrt_mutex_t *mutex) | 尝试获取mutex. |
FFRT_C_API int ffrt_mutex_destroy (ffrt_mutex_t *mutex) | 销毁mutex. |
FFRT_C_API int ffrt_queue_attr_init (ffrt_queue_attr_t *attr) | 初始化串行队列属性. |
FFRT_C_API void ffrt_queue_attr_destroy (ffrt_queue_attr_t *attr) | 销毁串行队列属性. |
FFRT_C_API void ffrt_queue_attr_set_qos (ffrt_queue_attr_t *attr, ffrt_qos_t qos) | 设置串行队列qos属性. |
FFRT_C_API ffrt_qos_tffrt_queue_attr_get_qos (const ffrt_queue_attr_t *attr) | 获取串行队列qos属性. |
FFRT_C_API void ffrt_queue_attr_set_timeout (ffrt_queue_attr_t *attr, uint64_t timeout_us) | 设置串行队列timeout属性. |
FFRT_C_API uint64_t ffrt_queue_attr_get_timeout (const ffrt_queue_attr_t *attr) | 获取串行队列任务执行的timeout时间. |
FFRT_C_API void ffrt_queue_attr_set_callback (ffrt_queue_attr_t *attr, ffrt_function_header_t *f) | 设置串行队列超时回调方法. |
FFRT_C_API ffrt_function_header_t * ffrt_queue_attr_get_callback (const ffrt_queue_attr_t *attr) | 获取串行队列超时回调方法. |
FFRT_C_API ffrt_queue_tffrt_queue_create (ffrt_queue_type_t type, const char *name, const ffrt_queue_attr_t *attr) | 创建队列. |
FFRT_C_API void ffrt_queue_destroy (ffrt_queue_t queue) | 销毁队列. |
FFRT_C_API void ffrt_queue_submit (ffrt_queue_t queue, ffrt_function_header_t *f, const ffrt_task_attr_t *attr) | 提交一个任务到队列中调度执行. |
FFRT_C_API ffrt_task_handle_tffrt_queue_submit_h (ffrt_queue_t queue, ffrt_function_header_t *f, const ffrt_task_attr_t *attr) | 提交一个任务到队列中调度执行,并返回任务句柄. |
FFRT_C_API void ffrt_queue_wait (ffrt_task_handle_t handle) | 等待队列中一个任务执行完成. |
FFRT_C_API int ffrt_queue_cancel (ffrt_task_handle_t handle) | 取消队列中一个任务. |
FFRT_C_API int ffrt_usleep (uint64_t usec) | 延迟usec微秒. |
FFRT_C_API void ffrt_yield (void) | 当前任务主动放权,让其他任务有机会调度执行. |
FFRT_C_API int ffrt_task_attr_init (ffrt_task_attr_t *attr) | 初始化任务属性. |
FFRT_C_API void ffrt_task_attr_set_name (ffrt_task_attr_t *attr, const char *name) | 设置任务名字. |
FFRT_C_API const char * ffrt_task_attr_get_name (const ffrt_task_attr_t *attr) | 获取任务名字. |
FFRT_C_API void ffrt_task_attr_destroy (ffrt_task_attr_t *attr) | 销毁任务属性. |
FFRT_C_API void ffrt_task_attr_set_qos (ffrt_task_attr_t *attr, ffrt_qos_t qos) | 设置任务qos. |
FFRT_C_API ffrt_qos_tffrt_task_attr_get_qos (const ffrt_task_attr_t *attr) | 获取任务qos. |
FFRT_C_API void ffrt_task_attr_set_delay (ffrt_task_attr_t *attr, uint64_t delay_us) | 设置任务延迟时间. |
FFRT_C_API uint64_t ffrt_task_attr_get_delay (const ffrt_task_attr_t *attr) | 获取任务延迟时间. |
FFRT_C_API int ffrt_this_task_update_qos (ffrt_qos_t qos) | 更新任务qos. |
FFRT_C_API uint64_t ffrt_this_task_get_id (void) | 获取任务id. |
FFRT_C_API void * ffrt_alloc_auto_managed_function_storage_base (ffrt_function_kind_t kind) | 申请函数执行结构的内存. |
FFRT_C_API void ffrt_submit_base (ffrt_function_header_t *f, const ffrt_deps_t *in_deps, const ffrt_deps_t *out_deps, const ffrt_task_attr_t *attr) | 提交任务调度执行. |
FFRT_C_API ffrt_task_handle_tffrt_submit_h_base (ffrt_function_header_t *f, const ffrt_deps_t *in_deps, const ffrt_deps_t *out_deps, const ffrt_task_attr_t *attr) | 提交任务调度执行并返回任务句柄. |
FFRT_C_API void ffrt_task_handle_destroy (ffrt_task_handle_t handle) | 销毁任务句柄. |
FFRT_C_API void ffrt_wait_deps (const ffrt_deps_t *deps) | 等待依赖的任务完成,当前任务开始执行. |
FFRT_C_API void ffrt_wait (void) | 等待之前所有提交任务完成,当前任务开始执行. |
变量
名称 | 描述 |
---|---|
ffrt_function_tffrt_function_header_t::exec | 任务执行函数 |
ffrt_function_tffrt_function_header_t::destroy | 任务销毁函数 |
uint64_t ffrt_function_header_t::reserve [2] | 保留位. |
ffrt_dependence_type_tffrt_dependence_t::type | 依赖类型 |
const void * ffrt_dependence_t::ptr | 依赖数据地址 |
uint32_t ffrt_deps_t::len | 依赖数量 |
const ffrt_dependence_t * ffrt_deps_t::items | 依赖数据 |
uint32_t ffrt_task_attr_t::storage [(ffrt_task_attr_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)] | 任务属性所占空间 |
uint32_t ffrt_queue_attr_t::storage [(ffrt_queue_attr_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)] | 串行队列属性所占空间 |
long ffrt_condattr_t::storage | FFRT条件变量属性所占空间 |
long ffrt_mutexattr_t::storage | FFRT锁属性所占空间 |
uint32_t ffrt_mutex_t::storage [(ffrt_mutex_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)] | FFRT互斥锁所占空间 |
uint32_t ffrt_cond_t::storage [(ffrt_cond_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)] | FFRT条件变量所占空间 |
枚举类型说明
ffrt_dependence_type_t
enum ffrt_dependence_type_t
描述
依赖类型.
枚举值 | 描述 |
---|---|
ffrt_dependence_data | 数据依赖类型 |
ffrt_dependence_task | 任务依赖类型 |
ffrt_error_t
enum ffrt_error_t
描述
FFRT错误码.
枚举值 | 描述 |
---|---|
ffrt_error | 失败 |
ffrt_success | 成功 |
ffrt_error_nomem | 内存不足 |
ffrt_error_timedout | 超时 |
ffrt_error_busy | 重新尝试 |
ffrt_error_inval | 值无效 |
ffrt_function_kind_t
enum ffrt_function_kind_t
描述
任务类型.
枚举值 | 描述 |
---|---|
ffrt_function_kind_general | 通用任务类型 |
ffrt_function_kind_queue | 队列任务类型 |
ffrt_qos_default_t
enum ffrt_qos_default_t
描述
任务的qos类型.
枚举值 | 描述 |
---|---|
ffrt_qos_inherit | 继承当前任务qos属性 |
ffrt_qos_background | 后台任务 |
ffrt_qos_utility | 实时工具 |
ffrt_qos_default | 默认类型 |
ffrt_qos_user_initiated | 用户期望 |
ffrt_queue_type_t
enum ffrt_queue_type_t
描述
队列类型.
枚举值 | 描述 |
---|---|
ffrt_queue_serial | 串行队列类型 |
ffrt_storage_size_t
enum ffrt_storage_size_t
描述
多种类型数据结构分配大小定义.
枚举值 | 描述 |
---|---|
ffrt_task_attr_storage_size | 任务属性 |
ffrt_auto_managed_function_storage_size | 任务执行体 |
ffrt_mutex_storage_size | 互斥锁 |
ffrt_cond_storage_size | 条件变量 |
ffrt_queue_attr_storage_size | 队列属性 |
函数说明
ffrt_alloc_auto_managed_function_storage_base()
FFRT_C_API void* ffrt_alloc_auto_managed_function_storage_base (ffrt_function_kind_t kind)
描述
申请函数执行结构的内存.
起始版本: 10
参数:
名称 | 描述 |
---|---|
kind | 函数执行结构类型,支持通用和队列函数执行结构类型. |
返回:
申请函数执行结构成功返回非空指针, 申请函数执行结构失败返回空指针.
ffrt_cond_broadcast()
FFRT_C_API int ffrt_cond_broadcast (ffrt_cond_t * cond)
描述
唤醒阻塞在条件变量上的所有任务.
起始版本: 10
参数:
名称 | 描述 |
---|---|
cond | 条件变量指针. |
返回:
唤醒成功返回ffrt_thrd_success, 唤醒失败返回ffrt_thrd_error.
ffrt_cond_destroy()
FFRT_C_API int ffrt_cond_destroy (ffrt_cond_t * cond)
描述
销毁掉件变量.
起始版本: 10
参数:
名称 | 描述 |
---|---|
cond | 条件变量指针. |
返回:
销毁条件变量成功返回ffrt_thrd_success, 销毁条件变量失败返回ffrt_thrd_error.
ffrt_cond_init()
FFRT_C_API int ffrt_cond_init (ffrt_cond_t * cond, const ffrt_condattr_t * attr )
描述
初始化条件变量.
起始版本: 10
参数:
名称 | 描述 |
---|---|
cond | 条件变量指针. |
attr | 条件变量属性指针. |
返回:
初始化条件变量成功返回ffrt_thrd_success, 初始化条件变量失败返回ffrt_thrd_error.
ffrt_cond_signal()
FFRT_C_API int ffrt_cond_signal (ffrt_cond_t * cond)
描述
唤醒阻塞在条件变量上的一个任务.
起始版本: 10
参数:
名称 | 描述 |
---|---|
cond | 条件变量指针. |
返回:
唤醒成功返回ffrt_thrd_success, 唤醒失败返回ffrt_thrd_error.
ffrt_cond_timedwait()
FFRT_C_API int ffrt_cond_timedwait (ffrt_cond_t * cond, ffrt_mutex_t * mutex, const struct timespec * time_point )
描述
条件变量超时等待函数,条件变量不满足时阻塞当前任务,超时等待返回.
起始版本: 10
参数:
名称 | 描述 |
---|---|
cond | 条件变量指针. |
mutex | mutex指针. |
time_point | 最大等待到的时间点,超过这个时间点等待返回. |
返回:
等待后被成功唤醒返回ffrt_thrd_success, 等待超时返回ffrt_thrd_timedout. 等待失败ffrt_thrd_error.
ffrt_cond_wait()
FFRT_C_API int ffrt_cond_wait (ffrt_cond_t * cond, ffrt_mutex_t * mutex )
描述
条件变量等待函数,条件变量不满足时阻塞当前任务.
起始版本: 10
参数:
名称 | 描述 |
---|---|
cond | 条件变量指针. |
mutex | mutex指针. |
返回:
等待后被成功唤醒返回ffrt_thrd_success, 等待失败返回ffrt_thrd_error.
ffrt_mutex_destroy()
FFRT_C_API int ffrt_mutex_destroy (ffrt_mutex_t * mutex)
描述
销毁mutex.
起始版本: 10
参数:
名称 | 描述 |
---|---|
mutex | mutex指针. |
返回:
销毁mutex成功返回ffrt_thrd_success, 销毁mutex失败返回ffrt_thrd_error.
ffrt_mutex_init()
FFRT_C_API int ffrt_mutex_init (ffrt_mutex_t * mutex, const ffrt_mutexattr_t * attr )
描述
初始化mutex.
起始版本: 10
参数:
名称 | 描述 |
---|---|
mutex | mutex指针. |
attr | mutex属性. |
返回:
初始化mutex成功返回ffrt_thrd_success, 初始化mutex失败返回ffrt_thrd_error.
ffrt_mutex_lock()
FFRT_C_API int ffrt_mutex_lock (ffrt_mutex_t * mutex)
描述
获取mutex.
起始版本: 10
参数:
名称 | 描述 |
---|---|
mutex | mutex指针. |
返回:
获取mutex成功返回ffrt_thrd_success, 获取mutex失败返回ffrt_thrd_error,或者阻塞当前任务.
ffrt_mutex_trylock()
FFRT_C_API int ffrt_mutex_trylock (ffrt_mutex_t * mutex)
描述
尝试获取mutex.
起始版本: 10
参数:
名称 | 描述 |
---|---|
mutex | mutex指针. |
返回:
获取mutex成功返回ffrt_thrd_success, 获取mutex失败返回ffrt_thrd_error或ffrt_thrd_busy.
ffrt_mutex_unlock()
FFRT_C_API int ffrt_mutex_unlock (ffrt_mutex_t * mutex)
描述
释放mutex.
起始版本: 10
参数:
名称 | 描述 |
---|---|
mutex | mutex指针. |
返回:
释放mutex成功返回ffrt_thrd_success, 释放mutex失败返回ffrt_thrd_error.
ffrt_queue_attr_destroy()
FFRT_C_API void ffrt_queue_attr_destroy (ffrt_queue_attr_t * attr)
描述
销毁串行队列属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
ffrt_queue_attr_get_callback()
FFRT_C_API ffrt_function_header_t* ffrt_queue_attr_get_callback (const ffrt_queue_attr_t * attr)
描述
获取串行队列超时回调方法.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
返回:
返回串行队列超时回调方法.
ffrt_queue_attr_get_qos()
FFRT_C_API ffrt_qos_t ffrt_queue_attr_get_qos (const ffrt_queue_attr_t * attr)
描述
获取串行队列qos属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
返回:
返回串行队列的qos属性.
ffrt_queue_attr_get_timeout()
FFRT_C_API uint64_t ffrt_queue_attr_get_timeout (const ffrt_queue_attr_t * attr)
描述
获取串行队列任务执行的timeout时间.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
返回:
返回串行队列任务执行的timeout时间.
ffrt_queue_attr_init()
FFRT_C_API int ffrt_queue_attr_init (ffrt_queue_attr_t * attr)
描述
初始化串行队列属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
返回:
执行成功时返回0, 执行成功时返回-1.
ffrt_queue_attr_set_callback()
FFRT_C_API void ffrt_queue_attr_set_callback (ffrt_queue_attr_t * attr, ffrt_function_header_t * f )
描述
设置串行队列超时回调方法.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
f | 超时回调方法执行体. |
ffrt_queue_attr_set_qos()
FFRT_C_API void ffrt_queue_attr_set_qos (ffrt_queue_attr_t * attr, ffrt_qos_t qos )
描述
设置串行队列qos属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
qos | qos属性值. |
ffrt_queue_attr_set_timeout()
FFRT_C_API void ffrt_queue_attr_set_timeout (ffrt_queue_attr_t * attr, uint64_t timeout_us )
描述
设置串行队列timeout属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 串行队列属性指针. |
timeout_us | 串行队列任务执行的timeout时间. |
ffrt_queue_cancel()
FFRT_C_API int ffrt_queue_cancel (ffrt_task_handle_t handle)
描述
取消队列中一个任务.
起始版本: 10
参数:
名称 | 描述 |
---|---|
handle | 任务句柄. |
返回:
取消任务成功返回0 取消任务失败返回-1
ffrt_queue_create()
FFRT_C_API ffrt_queue_t ffrt_queue_create (ffrt_queue_type_t type, const char * name, const ffrt_queue_attr_t * attr )
描述
创建队列.
起始版本: 10
参数:
名称 | 描述 |
---|---|
type | 队列类型. |
name | 队列名字. |
attr | 队列属性. |
返回:
创建队列成功返回非空队列句柄 创建队列失败返回空指针
ffrt_queue_destroy()
FFRT_C_API void ffrt_queue_destroy (ffrt_queue_t queue)
描述
销毁队列.
起始版本: 10
参数:
名称 | 描述 |
---|---|
queue | 队列句柄. |
ffrt_queue_submit()
FFRT_C_API void ffrt_queue_submit (ffrt_queue_t queue, ffrt_function_header_t * f, const ffrt_task_attr_t * attr )
描述
提交一个任务到队列中调度执行.
起始版本: 10
参数:
名称 | 描述 |
---|---|
queue | 队列句柄. |
f | 任务的执行体. |
attr | 任务属性. |
ffrt_queue_submit_h()
FFRT_C_API ffrt_task_handle_t ffrt_queue_submit_h (ffrt_queue_t queue, ffrt_function_header_t * f, const ffrt_task_attr_t * attr )
描述
提交一个任务到队列中调度执行,并返回任务句柄.
起始版本: 10
参数:
名称 | 描述 |
---|---|
queue | 队列句柄. |
f | 任务的执行体. |
attr | 任务属性. |
返回:
提交成功返回非空任务句柄; 提交失败返回空指针
ffrt_queue_wait()
FFRT_C_API void ffrt_queue_wait (ffrt_task_handle_t handle)
描述
等待队列中一个任务执行完成.
起始版本: 10
参数:
名称 | 描述 |
---|---|
handle | 任务句柄. |
ffrt_submit_base()
FFRT_C_API void ffrt_submit_base (ffrt_function_header_t * f, const ffrt_deps_t * in_deps, const ffrt_deps_t * out_deps, const ffrt_task_attr_t * attr )
描述
提交任务调度执行.
起始版本: 10
参数:
名称 | 描述 |
---|---|
f | 任务执行体封装的指针. |
in_deps | 输入依赖指针. |
out_deps | 输出依赖指针. |
attr | 任务属性. |
ffrt_submit_h_base()
FFRT_C_API ffrt_task_handle_t ffrt_submit_h_base (ffrt_function_header_t * f, const ffrt_deps_t * in_deps, const ffrt_deps_t * out_deps, const ffrt_task_attr_t * attr )
描述
提交任务调度执行并返回任务句柄.
起始版本: 10
参数:
名称 | 描述 |
---|---|
f | 任务执行体封装的指针. |
in_deps | 输入依赖指针. |
out_deps | 输出依赖指针. |
attr | 任务属性. |
返回:
提交任务成功返回非空任务句柄, 提交任务失败返回空指针.
ffrt_task_attr_destroy()
FFRT_C_API void ffrt_task_attr_destroy (ffrt_task_attr_t * attr)
描述
销毁任务属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
ffrt_task_attr_get_delay()
FFRT_C_API uint64_t ffrt_task_attr_get_delay (const ffrt_task_attr_t * attr)
描述
获取任务延迟时间.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
返回:
返回任务的延迟时间
ffrt_task_attr_get_name()
FFRT_C_API const char* ffrt_task_attr_get_name (const ffrt_task_attr_t * attr)
描述
获取任务名字.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
返回:
获取任务名字成功返回非空指针, 获取任务名字失败返回空指针.
ffrt_task_attr_get_qos()
FFRT_C_API ffrt_qos_t ffrt_task_attr_get_qos (const ffrt_task_attr_t * attr)
描述
获取任务qos.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
返回:
返回任务的qos,默认返回ffrt_qos_default
ffrt_task_attr_init()
FFRT_C_API int ffrt_task_attr_init (ffrt_task_attr_t * attr)
描述
初始化任务属性.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
返回:
初始化任务属性成功返回0, 初始化任务属性失败返回-1.
ffrt_task_attr_set_delay()
FFRT_C_API void ffrt_task_attr_set_delay (ffrt_task_attr_t * attr, uint64_t delay_us )
描述
设置任务延迟时间.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
delay_us | 任务延迟时间,单位微秒. |
ffrt_task_attr_set_name()
FFRT_C_API void ffrt_task_attr_set_name (ffrt_task_attr_t * attr, const char * name )
描述
设置任务名字.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
name | 任务名字. |
ffrt_task_attr_set_qos()
FFRT_C_API void ffrt_task_attr_set_qos (ffrt_task_attr_t * attr, ffrt_qos_t qos )
描述
设置任务qos.
起始版本: 10
参数:
名称 | 描述 |
---|---|
attr | 任务属性指针. |
qos | 任务qos类型. |
ffrt_task_handle_destroy()
FFRT_C_API void ffrt_task_handle_destroy (ffrt_task_handle_t handle)
描述
销毁任务句柄.
起始版本: 10
参数:
名称 | 描述 |
---|---|
handle | 任务句柄. |
ffrt_this_task_get_id()
FFRT_C_API uint64_t ffrt_this_task_get_id (void )
描述
获取任务id.
起始版本: 10
返回:
返回当前任务的id
ffrt_this_task_update_qos()
FFRT_C_API int ffrt_this_task_update_qos (ffrt_qos_t qos)
描述
更新任务qos.
起始版本: 10
参数:
名称 | 描述 |
---|---|
qos | 更新的qos,更新当前任务的qos. |
返回:
更新任务qos成功返回0, 更新任务qos成功返回-1.
ffrt_usleep()
FFRT_C_API int ffrt_usleep (uint64_t usec)
描述
延迟usec微秒.
起始版本: 10
参数:
名称 | 描述 |
---|---|
usec延迟时间,单位微秒. |
返回:
执行成功时返回ffrt_thrd_success, 执行成功时返回ffrt_thrd_error.
ffrt_wait()
FFRT_C_API void ffrt_wait (void )
描述
等待之前所有提交任务完成,当前任务开始执行.
起始版本: 10
ffrt_wait_deps()
FFRT_C_API void ffrt_wait_deps (const ffrt_deps_t * deps)
描述
等待依赖的任务完成,当前任务开始执行.
起始版本: 10
参数:
名称 | 描述 |
---|---|
deps | 依赖的指针. |
ffrt_yield()
FFRT_C_API void ffrt_yield (void )
描述
当前任务主动放权,让其他任务有机会调度执行.
起始版本: 10
变量说明
destroy
ffrt_function_t ffrt_function_header_t::destroy
描述
任务销毁函数
exec
ffrt_function_t ffrt_function_header_t::exec
描述
任务执行函数
items
const ffrt_dependence_t* ffrt_deps_t::items
描述
依赖数据
len
uint32_t ffrt_deps_t::len
描述
依赖数量
ptr
const void* ffrt_dependence_t::ptr
描述
依赖数据地址
reserve
uint64_t ffrt_function_header_t::reserve[2]
描述
保留位.
storage [1/6]
uint32_t ffrt_cond_t::storage[(ffrt_cond_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)]
描述
FFRT条件变量所占空间
storage [2/6]
uint32_t ffrt_mutex_t::storage[(ffrt_mutex_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)]
描述
FFRT互斥锁所占空间
storage [3/6]
uint32_t ffrt_queue_attr_t::storage[(ffrt_queue_attr_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)]
描述
串行队列属性所占空间
storage [4/6]
uint32_t ffrt_task_attr_t::storage[(ffrt_task_attr_storage_size+sizeof(uint32_t) - 1)/sizeof(uint32_t)]
描述
任务属性所占空间
storage [5/6]
long ffrt_condattr_t::storage
描述
FFRT条件变量属性所占空间
storage [6/6]
long ffrt_mutexattr_t::storage
描述
FFRT锁属性所占空间
type
ffrt_dependence_type_t ffrt_dependence_t::type
描述
依赖类型