V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chendvorak
V2EX  ›  计算机

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

  •  
  •   chendvorak · 2023-02-20 08:58:01 +08:00 · 1605 次点击
    这是一个创建于 647 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    https://github.com/bytedance/monoio
    billlee
        3
    billlee  
       2023-02-20 12:25:40 +08:00 via Android
    不用框架自己拿 select 写个多路复用 IO 程序就知道了,这些库的核心功能就是上下文的管理。
    mmdsun
        4
    mmdsun  
       2023-02-21 00:19:53 +08:00 via iPhone
    其实没这么玄乎,底层都很容易
    《从根本上了解异步编程体系》
    https://mp.weixin.qq.com/s/q6BfOINeqgm5nffrHu4kQA
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1339 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 157ms · UTC 23:40 · PVG 07:40 · LAX 15:40 · JFK 18:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.