如何学习异步 IO 运行时原理?

2023-02-20 08:58:01 +08:00
 chendvorak

我是在学习 rust 中接触到了 tokio 这样的库,对支持异步的运行时有兴趣,但是直接读源码也看不懂,因为不知道原理是什么。有没有这方面的书可以学习?重点在原理方面。

1599 次点击
所在节点   计算机
4 条回复
tulongtou
2023-02-20 09:05:54 +08:00
所有的异步库都是调用的操作系统异步支持,Linux 是 epoll/select/io-uring, macos/bsd 是 kqueue ,Windows 是 iocp
novolunt
2023-02-20 11:10:52 +08:00
字节的 monoio 写的很明确
Rust async runtime based on io-uring.

https://github.com/bytedance/monoio
billlee
2023-02-20 12:25:40 +08:00
不用框架自己拿 select 写个多路复用 IO 程序就知道了,这些库的核心功能就是上下文的管理。
mmdsun
2023-02-21 00:19:53 +08:00
其实没这么玄乎,底层都很容易
《从根本上了解异步编程体系》
https://mp.weixin.qq.com/s/q6BfOINeqgm5nffrHu4kQA

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917481

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX