2个版本
0.1.1 | 2024年6月28日 |
---|---|
0.1.0 | 2024年4月27日 |
183 在 WebAssembly 中排名
每月下载量 393
在 3 个Crate中(2个直接使用) 使用
12KB
159 代码行
此crate通过提供一个可以用于在多种执行器中生成任务的实用工具,使编写执行器无关的异步代码变得更加容易。
它只支持每个程序一个执行器,但该执行器可以在运行时设置,可以在您的crate(或依赖于它的应用程序)中的任何位置设置。
这可以扩展到支持任何支持生成 Future
的执行器或运行时。
这在许多方面都是一种最小公分母实现。局限性包括
- 设置执行器是一次性的全局操作
- 从spawn中没有返回"连接句柄"或其他结果
Future
必须输出()
use any_spawner::Executor;
Executor::init_futures_executor()
.expect("executor should only be initialized once");
// spawn a thread-safe Future
Executor::spawn(async { /* ... */ });
// spawn a Future that is !Send
Executor::spawn_local(async { /* ... */ });
lib.rs
:
此crate通过提供一个可以用于在多种执行器中生成任务的实用工具,使编写执行器无关的异步代码变得更加容易。
它只支持每个程序一个执行器,但该执行器可以在运行时设置,可以在您的crate(或依赖于它的应用程序)中的任何位置设置。
这可以扩展到支持任何支持生成 Future
的执行器或运行时。
这在许多方面都是一种最小公分母实现。局限性包括
- 设置执行器是一次性的全局操作
- 从spawn中没有返回"连接句柄"或其他结果
Future
必须输出()
use any_spawner::Executor;
// make sure an Executor has been initialized with one of the init_ functions
// spawn a thread-safe Future
Executor::spawn(async { /* ... */ });
// spawn a Future that is !Send
Executor::spawn_local(async { /* ... */ });
依赖关系
~1–5MB
~94K SLoC