18个版本
0.2.0-alpha.6 | 2019年9月30日 |
---|---|
0.2.0-alpha.4 | 2019年8月29日 |
0.1.10 | 2020年2月5日 |
0.1.8 | 2019年7月3日 |
0.1.2 | 2018年3月30日 |
#72 in #blocking
181,085 每月下载量
用于 少于 41 crates
300KB
5K SLoC
tokio-executor
任务执行相关特性和工具。
许可证
本项目采用MIT许可证。
贡献
除非你明确声明,否则你提交给Tokio的所有有意贡献都将被许可为MIT,不附加任何额外条款或条件。
lib.rs
:
任务执行相关特性和工具。
在Tokio执行模型中,未来是懒的。当创建未来时,不会执行任何操作。为了使未来定义的操作发生,必须将未来提交给执行器。提交给执行器的是“任务”。
执行器负责确保在任务通知时调用 Future::poll
。通知发生在任务内部状态从“未准备好”过渡到“准备好”时。例如,套接字可能已经接收到数据,调用 read
现在将能够成功。
此crate提供构建执行器所需的特性和工具,包括
-
Executor
特性将未来对象在执行器上启动。 -
TypedExecutor
特性将特定类型的未来在执行器上启动。这用于泛型化启动未来为Send
或!Send
的执行器或针对特定未来应用的执行器。 -
enter
标记当前线程正在进入执行上下文。这可以防止第二个执行器在已运行的上下文中意外启动。 -
DefaultExecutor
将任务提交给当前上下文的默认执行器。 -
Park
抽象化了当前线程的阻塞和解阻塞。
实现执行器
执行器应该始终实现 TypedExecutor
。这通常是应用程序和库在泛型执行器时使用的限制。有关更多详细信息,请参阅 特性行为文档。
如果执行器能够启动所有 Send
的未来,则执行器还应实现 Executor
特性行为。这个特性行为很少直接由应用程序和库使用。相反,tokio::spawn
被配置为调度实现 Executor
的类型。
依赖项
~0.8–1MB
~19K SLoC