线程模式

本文探讨了两种主要的线程模式:每个连接对应一个线程和事件驱动。在多线程服务端编程中,通常采用event loop per thread结合线程池的方式,event loop用于非阻塞I/O和定时器,线程池则负责计算任务。
摘要由CSDN通过智能技术生成

创建多线程应用的第一步也是最重要的一步就是确定线程模式,线程模式也是应用程序的逻辑处理和 I/O 的模式,可能存在很多抽象和实现细节,但两个核心的编程模式是:"每个连接对应一个线程(thread-per-connection)" 和 "事件驱动(event-driven)"。


每个连接对应一个线程


“每个连接对应一个线程”是一种编程模式,在该模式中,每个工作单元被分配给一个线程,而该线程在该工作单元执行期间,不会被分配给其他工作单元。工作单元是指如何分解应用的工作:请求,连接等。在这里,我们将“连接”作为描述该模式的通用术语。

描述该模式的另一种方式是“运行直到结束”。一个线程处理一个连接或请求,直到处理结束,这样线程就可以处理另一个新的请求。这对于 I/O 很有意义,实际上,I/O 是“每个连接对应于线
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值