【I/O】常见的I/O线程模型

目录

传统阻塞I/O服务模型

Reactor模式(分发者模式)

核心组成:

分类:

单Reactor单线程 

单Reactor多线程

主从Reactor


目前常见的I/O线程模型有:传统阻塞I/O服务模型和Reactor模式

传统阻塞I/O服务模型

模型特点:

  1. 采用阻塞I/O模式获取输入的数据
  2. 每个连接都需要独立的线程完成数据的输入、处理和返回

存在问题:

  1. 当并发数很大,就会创建大量的线程,占用很大系统资源
  2. 连接创建后,如果当前线程暂时没有数据可读,该线程会阻塞在 Handler对象中的read 操作,导致上面的处理线程资源浪费

Reactor模式(分发者模式)

传统阻塞I/O线程模型,每个连接一个阻塞对象线程,存在资源的浪费,因此针对这个缺点,出现了Reactor模式,多个连接共用一个阻塞对象线程,阻塞对象监听多个连接,当某个连接有新的数据可以处理时,线程解除阻塞,将连接交给工作线程进行处理。

优势:

  1. 基于线程池复用线程资源:不必再为每个连接创建线程,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值