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

上海设计网站设计在深圳市做一个网站多少钱

上海设计网站设计,在深圳市做一个网站多少钱,济南网站制作工具,简述网站设计的开发流程我们在IO模型和Java网络编程模型中#xff0c;对IO有了一定的理解。这一篇#xff0c;主要讲解基于事件驱动的两种是在原来基础上的扩展。在基于事件驱动的网络编程模型中#xff0c;Reactor和Proactor模型是两种常用的IO设计模型。 我们知道BIO#xff08;阻塞IO#xf…我们在IO模型和Java网络编程模型中对IO有了一定的理解。这一篇主要讲解基于事件驱动的两种是在原来基础上的扩展。在基于事件驱动的网络编程模型中Reactor和Proactor模型是两种常用的IO设计模型。 我们知道BIO阻塞IO只有等待阻塞方法结束了操作权才会交还给调用线程在阻塞期间调用者做不了任何操作只能等待。在此期间调用者线程无法转向其他能做的事对调用者来讲这其实是一种浪费。在NIO非阻塞IO中非阻塞IO会立刻将结果返回到调用者调用者获取结果无需等待。获得的结果无非两种数据准备好了你继续表演吧要么数据还没准备好你要不再试试或者你等会再试试。而对AIO异步IO调用方立刻获得返回并且操作系统会使用另外的资源来达成此次的IO请求并在操作系统完成数据准备后通知调用者。 Reactor模式和Proactor模型 Reactor模型的中心思想采用的就是我们在IO模型和Java网络编程模型中所讲的多路复用IO。Reactor模型主要包含以下几个角色 1Handle也叫句柄有些地方也叫描述符。如网络Socket IO中称网络IO句柄或者Socket描述符在文件读写中称文件IO句柄或者文件描述符等。 2Synchronous Event Demultiplexer也称同步事件多路分解器用于阻塞等待发生在句柄集合上的一个或者多个事件因为事件的到来是随机不可预测的底层要实现事件的监听采取的是循环等待的策略这种策略也叫事件循环。事件循环依赖系统调用这里的系统调用指的就是select/poll/epol等底层函数。这些底层函数一旦监听到句柄或描述符的读就绪或者写就绪就会通知调用方进行读写操作。同步事件分离器依赖底层系统调用的实现。 3Event Handler 可称为事件处理器不同的事件可以有不同的处理器。通常IO框架库会将事件处理器定义成一个模板函数不同的事件处理器可以有不同的特性拥有自己业务相关的实现。 4Reactor也称为反应器反应器主要功能包括以下注册或者删除应用程序所关注的事件句柄运行事件循环监控事件的到来当事件到达时反应器分离事件并通知到对应的具体的事件处理器上由具体的事件处理器处理器调用相关的函数来实现数据的读或者写处理完数据后交还系统的控制权。 Reactor模型图 整体的业务流可以概括为首先调用者先向反应器注册其对某种具体 的IO动作感兴趣反应器会循环监控调用 者注册的事件是否已发生如可读可写等当事件发生后事件分解器就被唤醒会通知到事件对应的处理器来完成 事件的读写可以看出在具体事件到达时处理程序不是调用的反应器而是通过反应器分离的事件处理器来作数据的读或者写这种方式又被称为“好莱坞法则”类似于好莱坞大导演找演员的模型你别来找我等活来了我来找你吧。Reactor模型当有对应的IO完成时回调对应的函数来处理这种模型本质上还是一种同步的IO模型其底层也并没有调用对应的异步IO的函数。 Reactor模型中的事件处理器是基于模板的模型来实现的这意味着不同的事件处理器是分离的业务间具体低侵入性。Reactor模型的底层系统调用也是一个模板模型可以用select实现亦或epoll但是必须满足能监控活跃连接的功能。 Proactor与Reactor则不同Reactor是基于同步IO模型实现的而Proactor是基于异步IO。 Proactor中调用者会调用异步操作处理器提供的异步函数调用之后 调用者线程和异步操作处理器会独立运行这依赖于操作系统对异步IO的支持实际的IO是由操作系统来完成 的。然后Proactor会进行事件循环等待事件的到来 当事件分解器等待事件到来的同时操作系统已经在同时将目标数据拷备到用户空间当拷备完成 后会通知到事件分解器事情已经搞完了事件分解器将完成事件转发到相应的事件处理者或者 回调函数调用 者就可以利用这些数据处理自己的业务逻辑 了。 Reactor和Proactor都是对某个具体IO事件的告知这也就我们所说的基于事件驱动Reactor是告知的事件已准备好而Proactor是事件已做好。他们的业务 逻辑也很类似都是事件分解器来负责IO的监控并回调对应的事件处理器不同之处在于Reactor事件告知的是已准备好还需要进一步的从内核 空间数据拷备到用户空间。而Proactor是数据已经准备好调用 者可以直接在用户空间使用了。 为了让学习变得轻松、高效今天给大家免费分享一套Java入门教学资源。帮助大家在成为Java架构师的道路上披荆斩棘。需要入门的资料欢迎加入学习交流群928505736
http://www.fuzeviewer.com/news/25504/

相关文章:

  • 河南省建设科技会网站网站开发服务器资源怎么弄
  • 湘潭做网站 都来磐石网络儿童 网站欣赏
  • 京紫元年深圳网站建设wordpress主题没有小工具
  • 做旅游网站的意义建站素材
  • 永清县建设局网站肥猫网站建设
  • 基于单片机的智能洗碗机设计 - 指南
  • 建设部网站资质公示电脑网站打不开怎么解决
  • 手机网站百度关键词排名查询苏州吴中区建设局工程网站
  • 邢台企业做网站常平东莞网站设计
  • 北京手机网站建设公司织梦模板网站源码下载
  • 淮南模板网站建设怎么样网站可以做弹窗广告么
  • 优惠券网站制作教程设计说明模版
  • 学院网站建设推进会北京新闻发布会
  • 网站建设类公司可以拿哪些项目资金动态ip做网站可以备案吗
  • 做网站百度新闻源国内外优秀网站设计
  • 台州企业建站程序学校网站建设内容
  • 南京医院手机网站建设贵阳市做网站电话
  • ubuntu22 arm64 安装docker乱七八糟的报错解决方案
  • 哪个网站建设公司好网站要怎么做才专业
  • 山西长治做网站公司域名在线解析
  • 小公司怎么做免费网站minty wordpress
  • 简述网站建设基本过程做购物微信网站
  • 四川建设部网站wordpress折叠插件
  • 网站引流推广软件美丽乡村建设规划文本网站
  • 无锡网站公司电话手机网站有哪些类型
  • iis可以做php网站吗锟鹏建设招聘网站
  • 深圳做网站龙华信科两栏式网站
  • 个人备案公司网站手机如何制作一个网页链接
  • 深圳建设网站推荐wordpress 清理媒体库
  • 常州高端网站定制公司宣传网站制作方案