当前位置: 首页 > news >正文

中国哪些网站做软装it培训机构培训费用

中国哪些网站做软装,it培训机构培训费用,微信如何申请小程序商店,电子创意设计网站传统阻塞I/O模式 其中黄色框表示对象,蓝色框表示线程,白色框表示API方法 特点 采用阻塞IO模式获取输入数据每个连接都需要独立的线程完成数据的输入,业务处理和处理结果数据返回 潜在问题 并发数很大时,需要对应每个连接请求创建一个线程,所以占用资源很大连接创建后,若当前…

传统阻塞I/O模式

其中黄色框表示对象,蓝色框表示线程,白色框表示API方法

特点

  • 采用阻塞IO模式获取输入数据
  • 每个连接都需要独立的线程完成数据的输入,业务处理和处理结果数据返回

潜在问题

  • 并发数很大时,需要对应每个连接请求创建一个线程,所以占用资源很大
  • 连接创建后,若当前下线程暂时没有数据操作时,该线程会在操作方法处阻塞,造成线程资源浪费

Reactor模式(Dispatch模式)

针对传统阻塞I/O模式的潜在问题,解决方案如下

  • 基于I/O复用模型解决创建线程数量多的问题:通过一个阻塞对象管理所有连接
  • 基于线程池解决线程资源浪费问题

Reactor模式的设计思想就是I/O复用结合下线程池

核心组成

  • Reator:Reactor在一个单独的thread中运行,负责监听和分发事件,分发给适当的处理程序对IO事件做出反应
  • Handler:真正处理执行Reactor分发过来的IO事件

优势

  • 响应快:不会由于单个同步而导致阻塞
  • 扩展性好:通过方便的增加Reactor实例个数充分利用多核CPU资源
  • 复用性好:Reactor本身与具体的事件处理逻辑无关,具有很高的复用性

根据Reactor的数量和处理资源池线程的数量不同,包括单Reactor单线程、单Reactor多线程和主从Reactor多线程

Reactor单线程

执行流程

  • Reactor通过Select监控客户端请求事件,收到事件后通过Dispatch进行分发
  • 如果是建立连接请求则由Acceptor处理,并且创建Handler对象处理连接完成后的业务
  • 若不是连接请求(比如read)则分发调用对应的Handler来响应(read->业务处理->send流程)

方案分析

  • 模式简单,没有多线程竞争,全部由一个线程完成
  • 性能问题:仅一个线程,无法发挥多核CPU性能
  • 可靠性问题:线程意外终止或者遇到死循环会导致系统不可用
  • 适用于客户端数量有限,业务处理非常快速的场景

Reactor多线程

执行流程

  • Reactor通过Select监控客户端请求事件,收到事件后通过Dispatch进行分发
  • 如果是建立连接请求则由Acceptor处理,并且创建Handler对象处理连接完成后的业务
  • 若不是连接请求(比如read)则Reactor分发调用对应的Handler进行响应(read->分发任务->send流程)
  • Handler只负责响应事件,不做具体业务处理,通过read读取数据会分发给work线程池的某个线程处理业务
  • work线程池会分配独立线程完成真正的业务并将结果返回给Handler
  • Handler收到响应后通过send将结果返回给client

方案分析

  • 可以充分利用多核CPU的处理能力
  • 多线程数据共享和访问比较复杂,reactor处理所有的事件的监听和响应,在单线程、高并发场景下容易出现性能瓶颈

主从Reactor多线程(Netty基于此模式)

执行流程

  • Reactor主线程MainReactor对象通过select监听连接事件,若收到连接请求事件则会通过Acceptor处理
  • 当Acceptor处理完成连接事件后,MainReactor将连接分配给SubReactor(一个MainReactor存在多个子Reactor)
  • SubReactor将连接加入到连接队列进行监听,并创建Handler进行对应事件处理
  • 当存在新事件发生时,subReactor就会调用对应Handler处理
  • Handler只负责响应事件,不做具体业务处理,通过read读取数据会分发给work线程池的某个线程处理业务
  • work线程池会分配独立线程完成真正的业务并将结果返回给Handler
  • Handler收到响应后通过send将结果返回给client

方案分析

  • 主线程和子线程数据交互简单职责明确,主线程负责接收连接,子线程完成后续业务处理
  • 主线程和子线程交互简单,主线程把连接交给子线程,子线程无需返回数据
  • 但编程复杂度比较高
  • 应用于Nginx主从Reactor多进程模型、Memcached主从多线程、Netty主从多线程
http://www.15wanjia.com/news/7922.html

相关文章:

  • 南通市住房和城乡建设局网站2023年第三波新冠9月
  • 全球最新军事动态seo技术培训茂名
  • 免费网站在线收看站外推广渠道有哪些
  • 奎文区建设局网站关键词排名点击软件首页
  • 保险网站有哪些找片子有什么好的关键词
  • 网站设计特别好的公司自媒体十大平台
  • 玉溪网站建设网站建设今日新闻头条新闻
  • 优秀地方门户网站系统seo网站结构优化的方法
  • 运用django做网站今日新闻国内大事件
  • p2p贷款网站开发网络推广关键词优化公司
  • 最专业的网站建设公司抖音seo优化怎么做
  • 外边做一个网站要多少钱阿里云搜索引擎入口
  • cytoscape网站开发宁波seo外包推广平台
  • 美女类网站模板品牌策划与推广方案
  • 网站域名如何修改广东病毒感染最新消息
  • 阿里巴巴国际站坑人推广广告赚钱软件
  • 企业门户网站制作百度关键词数据
  • 淮安做网站.哪家网络公司好深圳市推广网站的公司
  • 大型网站平台建设seo推广一个月见效
  • 兰州迅豹网络怎么样谷歌seo工具
  • 做网站容易学吗媒体推广
  • 全面的哈尔滨网站建设优秀网站设计网站
  • 西安网站建设开发制作百度网站推广费用多少
  • 酷站网素材海外推广代理商
  • 上海的加盟网站建设线上线下推广方案
  • 网站添加标签云优化大师app
  • 绍兴公司网站建设 中企动力绍兴落实20条优化措施
  • 给百度做网站的公司优化关键词的步骤
  • 做网站的相关术语重庆seowhy整站优化
  • 网站搭建与生成技术教材抖音关键词搜索排名