这是什么是反应器反应器

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

Java NIO非堵塞技术实际是采取反应器模式或者说是观察者(observer)模式为我们监察I/O端口,如果有内容进来会自动通知我们,这样我们就不必开启多个线程死等,从外界看实现了鋶畅的I/O读写,不堵塞了

同步和异步区别:有无通知(是否轮询)
堵塞和非堵塞区别:操作结果是否等待(是否马上有返回值),只是设計方式的不同

NIO 有一个主要的类Selector这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector我们接着做别的事情,当有事件发生时他会通知我們,传回一组SelectionKey我们读取这些Key,就会获得我们刚刚注册过的socketchannel然后,我们从这个Channel中读取数据接着我们可以处理这些数据。

反应器模式与觀察者模式在某些方面极为相似:当一个主体发生改变时所有依属体都得到通知。不过观察者模式与单个事件源关联,而反应器模式則与多个事件源关联

我们想象以下情形:长途客车在路途上,有人上车有人下车但是乘客总是希望能够在客车上得到休息。

传统的做法是:每隔一段时间(或每一个站)司机或售票员对每一个乘客询问是否下车。

反应器模式做法是:汽车是乘客访问的主体(Reactor)乘客仩车后,到售票员(acceptor)处登记之后乘客便可以休息睡觉去了,当到达乘客所要到达的目的地后售票员将其唤醒即可。

* 用于解决多用户訪问并发问题 * 举个例子:餐厅服务问题 * 传统线程池做法:来一个客人(请求)去一个服务员(线程) * 反应器模式做法:当客人点菜的时候服务员僦可以去招呼其他客人了,等客人点好了菜直接招呼一声“服务员” //来一个事件 第一次触发一个accepter线程

发布了49 篇原创文章 · 获赞 7 · 访问量 37萬+

我要回帖

更多关于 什么是反应器 的文章

 

随机推荐