如何理解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)

相关推荐

  • 心形线,求心形函数表达式~~~

    技术心形线,求心形函数表达式~~~1.直角坐标方程心形线的平面直角坐标系方程表达式分别为 心形线:
    x^2+y^2+a*x=a*sqrt(x^2+y^2)
    x^2+y^2-a*x=a*sqrt(x^2+y^2)
    2.极坐

    生活 2021年10月29日
  • MySQL如何使用profiling

    技术MySQL如何使用profiling这篇文章将为大家详细讲解有关MySQL如何使用profiling,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mysql SQL优化工具我们常使

    攻略 2021年11月3日
  • oracle中出现ORA-01102错误怎么办

    技术oracle中出现ORA-01102错误怎么办这篇文章主要介绍了oracle中出现ORA-01102错误怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解

    攻略 2021年11月24日
  • Difference between pem, crt, key files

    技术Difference between pem, crt, key files Difference between pem, crt, key filesDifference between pem

    礼包 2021年12月9日
  • 三个向造句,用“向”“向”“向”三个词造句

    技术三个向造句,用“向”“向”“向”三个词造句在大会上我们向英雄致敬,向英雄献花,还宣誓要向英雄学习三个向造句。花儿向太阳微笑,向风儿点头,向蜜蜂问好。我向小猫学喵喵叫,向袋鼠学跳跃,向猴子学爬树。向前、向前,向前,我们

    生活 2021年10月21日
  • CF1588F Jumping Through the Array

    技术CF1588F Jumping Through the Array CF1588F Jumping Through the ArrayCF1588F Jumping Through the Arra

    礼包 2021年11月15日