创建多线程应用的第一步也是最重要的一步就是确定线程模式,线程模式也是应用程序的逻辑处理和 I/O 的模式,可能存在很多抽象和实现细节,但两个核心的编程模式是:"每个连接对应一个线程(thread-per-connection)" 和 "事件驱动(event-driven)"。
每个连接对应一个线程
“每个连接对应一个线程”是一种编程模式,在该模式中,每个工作单元被分配给一个线程,而该线程在该工作单元执行期间,不会被分配给其他工作单元。工作单元是指如何分解应用的工作:请求,连接等。在这里,我们将“连接”作为描述该模式的通用术语。
描述该模式的另一种方式是“运行直到结束”。一个线程处理一个连接或请求,直到处理结束,这样线程就可以处理另一个新的请求。这对于 I/O 很有意义,实际上,I/O 是“每个连接对应于线