在这篇文章中,我将从较高层次上解释 TCP/IP 堆栈在 Linux 上的工作原理。特别是,我将探讨套接字系统调用如何与内核数据结构交互,以及内核如何与实际网络交互。写这篇文章的部分动机是解释监听队列溢出(listen queue
)机制是如何工作的,因为它与我在工作中一直在处理的问题有关。
Rust的impl trait
impl trait这个语法的本质是什么呢?
【译】Go与非阻塞IO
为什么Go在高并发时比C耗费更多内存
【译】epoll与非阻塞IO
在这篇文章中,我想准确解释当您使用非阻塞 I/O 时会发生什么。特别是,我想解释一下:
- 使用 fcntl 在文件描述符上设置 O_NONBLOCK 的语义
- 非阻塞 I/O 与异步 I/O 有何不同
- 为什么非阻塞 I/O 经常与 select、epoll 和 kqueue 等 I/O 多路复用器结合使用
- 非阻塞模式如何与 epoll 的边缘触发轮询交互
Rust异步系列3 Futures工具包(下)
本篇继续讨论Futures的细节。
跳跃问题
认识贪心算法的典型例子
Rust异步系列2 Futures工具包(上)
上篇博客我们初步认识了Future,本篇我们将讨论Futures crate,以及它如何帮我们高效地实现Future
Rust异步系列1 认识Future
承接上一篇对Rust,Pin的分析,本篇主要研究Rust Future。
Rust的Pin是咋回事?
一个让众多Rust初学者摸不着头脑的概念,今天我们来把它搞清楚。
Rust智能指针
如何理解并使用Rust智能指针