#async-executor #environments #constrained #std #spin #thread-safe #version

synergetic

适用于受限制环境的基于滴答的异步执行器

2个版本

0.1.2 2023年2月13日
0.1.1 2023年2月13日
0.1.0 2023年2月13日

#1134 in 嵌入式开发

MIT许可

7KB
110

synergetic

synergetic是一个基于滴答的、线程局部异步执行器,旨在为缺少std但可以访问分配器的受限制环境提供。

提供可选的、线程安全的版本,使用spin

替代方案

  • embassy可以用于如果您需要一个适合嵌入式开发的完整异步运行时。

  • async-executor是更好的选择,如果std可用,并且您只需要异步执行器。

  • smol可以用于如果您只需要一个小巧但功能齐全的运行时。

示例

use synergetic::LockingExecutor;

let mut executor = LockingExecutor::new();

let task = executor.spawn(async {
        println!("hello world");
});

loop {
    executor.tick();
    if executor.done() {
        break;
    }
}

依赖关系

~245KB