Rust 程序设计语言 简体中文版 1.85.0中的项目会在一个更加真实的场景中运用 这些概念,而不是这里讨论的简单示例,同时会更直接地比较线程和任务的解决问题方式。 无论你选择何种方式,Rust 提供了编写安全、快速和并发代码的工具 – 无论是用于高吞吐量 web 服务器或是用于嵌入式操作系统。 接下来,我们会讨论随着 Rust 程序增大时如何以惯用的方式对问题进行建模和对解决方案进 行结构化。此外我们还会讨论 Rust 的惯用写法如何与你可能已经熟悉的面向对象编程惯例相 学习一些 TCP 与 HTTP 知识 2. 在套接字(socket)上监听 TCP 请求 3. 解析少量的 HTTP 请求 4. 创建一个合适的 HTTP 响应 5. 通过线程池改善 server 的吞吐量 在开始之前,我们先提两点说明。首先,这里使用的方法并不是使用 Rust 构建 web server 的最佳方式。crates.io 上有很多可用于生产环境的 crate,它们提供了比我们所要编写的更为 我们将要实现的一个便是线程池。 使用线程池改善吞吐量 线程池(thread pool)是一组预先分配的等待或准备处理任务的线程。当程序收到一个新任 务,线程池中的一个线程会被分配该任务,并负责处理它。其余线程在该线程处理任务的同时 可以处理任何其他接收到的任务。当第一个线程处理完任务时,它会返回空闲线程池中等待处 理新任务。线程池允许我们并发处理连接,提高服务端的吞吐量。 我们会将池中线程限制为较少的数量,以防拒绝服务(Denial0 码力 | 562 页 | 3.23 MB | 1 月前3
共 1 条
- 1













