#async-std #tokio #scoped #async #spawn #run-time

异步作用域

为async_std和tokio运行时创建作用域(非 'static)异步futures

13个不稳定版本 (6个破坏性更改)

0.9.0 2024年1月25日
0.8.0 2023年11月16日
0.7.1 2022年11月17日
0.7.0 2021年7月7日
0.3.1 2019年12月24日

#34 in 异步

Download history 25117/week @ 2024-04-23 27579/week @ 2024-04-30 22211/week @ 2024-05-07 26598/week @ 2024-05-14 19826/week @ 2024-05-21 22292/week @ 2024-05-28 27371/week @ 2024-06-04 24248/week @ 2024-06-11 26429/week @ 2024-06-18 30412/week @ 2024-06-25 21430/week @ 2024-07-02 27954/week @ 2024-07-09 27014/week @ 2024-07-16 29688/week @ 2024-07-23 27780/week @ 2024-07-30 29169/week @ 2024-08-06

每月118,681次下载
用于 93 个crate(直接使用26个)

Apache-2.0/MIT

36KB
568

异步作用域

启用在async-stdtokio 执行器中使用时对非-'static futures进行受控调用的功能。

动机

当前执行器(如async-std、tokio等)都支持将 'static futures调度到线程池。然而,它们不支持调度生命周期小于 'static 的futures。

虽然像 for_each_concurrent 这样的未来组合器提供了并发性,但执行器将它们捆绑为单个 Task 结构,因此不是并行执行的。这可以在测试合理数量的(> ~1K)I/O futures或少数CPU密集型futures时看到。

用法

API旨在成为高效执行器的最小封装。用户可以使用 "use-async-std",或 "use-tokio" 功能来获得特定的全局执行器实现。这些功能提供 TokioScopeAsyncScope,支持创建和阻塞。然而,这些功能都不是必要的 - 您可以自由实现自己的执行器。请参阅docs.rs以获取详细文档。

许可

根据您的选择,在Apache许可证,版本2.0MIT许可证 下许可。

除非您明确声明,否则您提交给本crate的任何有意贡献,根据Apache-2.0许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。

依赖

~1–15MB
~142K SLoC