mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-03-14 03:10:44 +08:00
Update Ch20
This commit is contained in:
parent
e334024f3e
commit
79f483239b
@ -539,4 +539,13 @@ fn handle_conn(mut stream: TcpStream) {
|
||||
这种技巧只是提供 web 服务器吞吐量的许多方法之一。咱们可能探讨的其他选项分别是 *分叉汇合模型,fork/join model*、*单线程异步 I/O 模型,single-threaded async I/O model*,抑或 *多线程异步 I/O 模型,multi-threaded async I/O model*。若对此问题感兴趣,那么可以阅读有关其他解决方案的资料,并尝试实现他们;对于 Rust 这种底层编程语言,所有这些选项都是可行的。
|
||||
|
||||
|
||||
在开始实现线程池前,咱们来聊聊用到这个池子的东西会是什么样子。在咱们正要尝试设计代码时,首先编写客户端界面,可有助于引导咱们的设计。要以咱们打算调用代码 API 的方式,编写出这些有组织架构的代码 API;随后在那种组织架构下实现功能,而非先实现功能而随后设计那些公开 API。
|
||||
|
||||
与第 12 章中项目里用到的测试驱动方式的开发,test-driven development,类似,这里咱们将运用编译器驱动的开发,compiler-driven development。咱们将先编写出咱们打算调用那些函数的代码,而随后会看看来自编译器的那些报错,以确定出接下来咱们应修改些什么,来让代码运作起来。在咱们进行那一步之前,咱们将探讨一下咱们并不会用到的一种技巧,作为开头。
|
||||
|
||||
#### 为每个请求生成一个线程
|
||||
|
||||
**Spawning a Thread for Each Request**
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user