31 个版本 (稳定版)
2.4.1 | 2023 年 12 月 11 日 |
---|---|
2.4.0 | 2023 年 11 月 23 日 |
2.3.1 | 2022 年 10 月 28 日 |
2.2.0 | 2022 年 6 月 20 日 |
0.2.3 | 2020 年 8 月 28 日 |
在 异步 中排名第 194
每月下载量 1,146,641
用于 2,709 个 Crates(直接使用 52 个)
24KB
352 行 代码
async-global-executor
基于 async-executor 和 async-io 构建的全球执行器
特性
async-io
:如果启用,async-global-executor
将使用async_io::block_on
而不是futures_lite::future::block_on
。如果您的应用程序也使用async-io
,则建议使用此选项。blocking
:通过async_global_executor::spawn_blocking
启用对blocking
crate 的使用。tokio
:如果启用,async-global-executor
将确保所有您将启动的任务都在 tokio 1.0 运行时上下文中运行,如果需要,将启动一个新的运行时。tokio03
:如果启用,async-global-executor
将确保所有您将启动的任务都在 tokio 0.3 运行时上下文中运行,如果需要,将启动一个新的运行时。tokio02
:如果启用,async-global-executor
将确保所有您将启动的任务都在 tokio 0.2 运行时上下文中运行,如果需要,将启动一个新的运行时。
示例
# use futures_lite::future;
// spawn a task on the multi-threaded executor
let task1 = async_global_executor::spawn(async {
1 + 2
});
// spawn a task on the local executor (same thread)
let task2 = async_global_executor::spawn_local(async {
3 + 4
});
let task = future::zip(task1, task2);
// run the executor
async_global_executor::block_on(async {
assert_eq!(task.await, (3, 7));
});
许可协议
根据您的选择,在以下协议下许可:
- Apache 许可证 2.0 版(LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在作品中的任何贡献,都应按上述方式双许可,无需任何额外的条款或条件。
依赖项
~3–13MB
~161K SLoC