6#include "libxr_def.hpp"
7#include "semaphore.hpp"
96 std::memory_order_acquire))
136#ifdef LIBXR_NOT_SUPPORT_MUTI_THREAD
140 std::atomic<uint32_t> pending_{0U};
单任务异步执行器 / Single-job asynchronous executor.
std::atomic< Status > status_
当前异步任务状态
Status GetStatus()
获取当前异步任务的状态。 Retrieves the current status of the asynchronous task.
Job job_
存储分配的异步任务回调 / Stores the assigned asynchronous job callback.
ErrorCode AssignJob(Job job)
提交任务 / Submit a job.
Thread thread_handle_
处理异步任务的线程 / Thread handling asynchronous tasks.
ASync(size_t stack_depth, Thread::Priority priority)
构造 ASync 并初始化线程或软件 Timer。 Constructs an ASync and initializes its worker or software Timer.
Semaphore sem_
控制任务执行的信号量 / Semaphore controlling task execution.
static void ThreadFun(ASync *async)
任务线程函数,等待信号量并执行任务。 Task thread function that waits for a semaphore and executes the assigned job.
Status
异步任务的状态枚举。 Enumeration of asynchronous task statuses.
@ DONE
任务已完成,尚未取走状态 / Completed, awaiting acknowledgment.
@ READY
任务已准备就绪 / Task is ready.
@ BUSY
任务已接收或正在执行 / Job accepted or running.
ErrorCode AssignJobFromCallback(Job job, bool in_isr)
从回调上下文提交任务 / Submit a job from callback context.
通用回调包装,支持动态参数传递 / Generic callback wrapper supporting dynamic argument passing
信号量类,实现线程同步机制 Semaphore class implementing thread synchronization
线程管理类,封装 POSIX 线程创建和调度 Thread management class encapsulating POSIX thread creation and scheduling
Priority
线程优先级枚举 Enumeration for thread priorities
LibXR 命名空间 / LibXR namespace.
ErrorCode
定义错误码枚举 / Defines an enumeration for error codes