Posts in 2021

  • Tokio和Actor

    2021-02-13 in Alice Ryhl博客

    这篇文章是关于直接用Tokio构建 Actor,而不使用任何 Actor 库,如Actix。这被证明是相当容易做到的,但有一些细节你应该注意。 把tokio::spawn的调用放在哪里 带有运行方法的结构体与裸函数 对 Actor 的处理 背压和有界通道 优雅关闭 本文概述的技术应该适用于任何执行器,但为了简单起见,我们将只讨论Tokio。本文与Tokio教程中的 spawning 和通道章节有一些重叠,我建议也阅读这些章节。 在我们讨论如何编写一个行为体之前,我们需要知 …

    更多

Posts in 2020

  • Tokio和Actor

    2020-12-21 in Alice Ryhl博客

    Rust 的 async/await 特性是通过一种称为协作式调度(cooperative scheduling)的机制来实现的,这对于编写异步Rust代码的人来说有一些重要的影响。 这篇博文的目标读者是异步 Rust 的新用户。我将使用 Tokio 运行时作为示例,但这里提出的观点适用于任何异步运行时。 如果你只从这篇文章中记住一件事,那应该是: 切记 异步代码不应该长时间不到达.await。 (注:指的是运行中) Blocking vs. non-blocking code 编写一个可以同 …

    更多