如何理解Reactor线程模型

技术如何理解Reactor线程模型如何理解Reactor线程模型,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言Reactor模型是基于事件驱动的线程

如何理解Reactor线程模型,针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的小伙伴找到更简单更容易的方法。

反应器模型是事件驱动的线程模型,可分为反应器单线程模型、反应器多线程模型和主从反应器多线程模型,通常基于I/O复用实现。不同的角色和职责是:Dispatcher负责事件分发,Acceptor负责客户端连接,Handler负责非连接事件(如读写事件)。

1.反应器单线程模型

1.原理在反应器单线程模型中,操作在同一个反应器线程中完成。根据事件的不同类型,Dispatcher将事件转发给不同的角色进行处理。连接事件被转发给接受者处理,读和写事件被转发给不同的处理程序处理。

如何理解Reactor线程模型

2.实施图

在NIO实现中,您可以在选择选择器中注册Accept事件,并轮询是否有“accept ready”事件。如果“连接就绪”被分发到接受者角色进行处理;“写就绪”事件被分发到负责写入的处理程序角色;读取就绪事件被分发到负责读取的处理程序角色。这就是所有的事情都在一个线程中处理。

如何理解Reactor线程模型

第二,反应器多线程模型

1.示意图

在反应器多线程模型中。根据事件的不同类型,Dispatcher将事件转发给不同的角色进行处理。连接事件被转发给接受者进行单线程处理,读写事件被转发给不同的处理程序进行线程池处理。

如何理解Reactor线程模型

2.实施图

在NIO实现中,您可以在选择选择器中注册Accept事件,并轮询是否有“accept ready”事件。如果“连接就绪”被分发到Acceptor角色进行处理,这里处理的“连接就绪”就是一个线程;“写就绪”事件被分发到负责写的处理程序角色,并由线程池处理;“读取就绪”事件被分配给负责读取并由线程池处理的处理程序角色。

如何理解Reactor线程模型

第三,主从反应堆多线程模型

1.示意图

反应器多线程模型,在接受者接受客户端连接请求后,创建一个SocketChannel,并将其注册到主反应器线程池中的线程选择中;是专门处理读写事件还是使用线程池处理(子反应器线程池)。

如何理解Reactor线程模型

2.实施图

在选择选择器中注册接受事件,并轮询是否有“接受就绪”事件;“连接就绪”被分发到接受者角色进行处理,新的SocketChannel被创建并转发到主反应器线程池中的线程进行处理;在指定的主反应器线程中,为读写事件注册SocketChannel当“写就绪/读就绪”事件分别由线程池(子反应器线程池)处理时。

如何理解Reactor线程模型

关于如何理解Reactor线程模型这个问题的答案,我希望在这里分享。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/99784.html

(0)

相关推荐

  • 如何用MEGA构建进化树

    技术如何用MEGA构建进化树如何用MEGA构建进化树,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。年引用量超大的 MEGA软件,今天小编就先

    攻略 2021年12月10日
  • 格拼音,占上中下格的拼音有哪些

    技术格拼音,占上中下格的拼音有哪些拼音格,它是有4条横着的平行线从上到下依次组成了上格、中格和下格格拼音。 在四线三格占上中格的小写字母有9个:b、d、f、h、i、k、l、t、ü,注意它们书写在中上格时,笔画上端必须紧顶

    生活 2021年10月25日
  • ps颜色模式,ps中怎么转换色彩模式

    技术ps颜色模式,ps中怎么转换色彩模式工具/原料电脑Adobe Photoshop CS6(64 Bit)方法/步骤1、首先打开PS,见下图展示ps颜色模式。2、打开PS后,点击菜单栏的文件,打开一张图片,见下图展示。

    生活 2021年10月23日
  • 微信sdk里有没有验证签名的方法(微信两个项目共用jssdk签名)

    技术微信JS-SDK签名接口怎么用这篇文章给大家分享的是有关微信JS-SDK签名接口怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先我们看一下微信公众号开发关于微信JS-SDK的使用说

    攻略 2021年12月24日
  • Python如何实现列表映射后的平均值

    技术Python如何实现列表映射后的平均值这篇文章主要介绍了Python如何实现列表映射后的平均值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、ave

    攻略 2021年11月11日
  • 雅诗兰黛的眼霜,雅诗兰黛眼霜套盒的使用顺序

    技术雅诗兰黛的眼霜,雅诗兰黛眼霜套盒的使用顺序正确的护肤顺序:鲜亮焕采精粹水――即时修护特润精华露―― 奇迹丰盈抗皱精华露――黛盈润保湿乳液――新款红石榴日晚霜套装雅诗兰黛的眼霜。需要注意的是:如果你是25岁以下的,可以

    生活 2021年10月30日