2.线程模型概述

目前存在的线程模型有:

  • 传统阻塞 IO 服务模型
  • Reactor 模式, 根据 Reactor 数量和处理资源池线程的数量不同, 又有 3 重典型的实现.
    • 单 Reactor 单线程
    • 单 Reactor 多线程
    • 主从 Reactor 多线程.

传统阻塞 IO 服务模型

  1. 一个线程对应一个客户端, 如果客户端过多就会占用很大的系统资源.
  2. 没有可读数据时, 线程会阻塞, 造成资源浪费.

在这里插入图片描述

Reactor 模式

下图只是对 Reactor 模式的一个整体理念, 当涉及到三个具体实现时, 有不同的变化.

在这里插入图片描述
基于 I/O 复用模型: 多个连接共用一个阻塞对象, 应用程序只需要在一个阻塞对象等待, 无需阻塞等待所有连接. 当某个连接有新的数据可以处理时, 操作系统通知应用程序, 线程从阻塞状态返回, 开始业务处理.

基于线程池复用线程资源: 不必再为每个连接创建线程, 将连接完成后的业务处理任务分配给线程进行处理, 一个线程可以处理多个连接的业务.

就是说, 服务处理器使用 I/O 复用监听一个或多个客户端的输入事件, 然后将这些事件分发到不同的线程处理.

也可以简单粗暴的理解为: IO多路复用 + 线程池 = Reactor 模式

单 Reactor 单线程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值