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

网站地图怎么做、刷赞网站推广qq免费

网站地图怎么做、,刷赞网站推广qq免费,新浪舆情通,广州市住宅建设发展有限公司网站文章目录 ReactorProactor小结上篇介绍了单服务器高性能的 PPC 和 TPC 模式,它们的优点是实现简单,缺点是都无法支撑高并发的场景,尤其是互联网发展到现在,各种海量用户业务的出现,PPC 和 TPC 完全无能为力。今天我将介绍可以应对高并发场景的单服务器高性能架构模式:Rea…

文章目录

    • Reactor
    • Proactor
    • 小结

上篇介绍了单服务器高性能的 PPC 和 TPC 模式,它们的优点是实现简单,缺点是都无法支撑高并发的场景,尤其是互联网发展到现在,各种海量用户业务的出现,PPC 和 TPC 完全无能为力。今天我将介绍可以应对高并发场景的单服务器高性能架构模式:Reactor 和 Proactor。

Reactor

PPC 模式最主要的问题就是每个连接都要创建进程(为了描述简洁,这里只以 PPC 和进程为例,实际上换成 TPC 和线程,原理是一样的),连接结束后进程就销毁了,这样做其实是很大的浪费。为了解决这个问题,一个自然而然的想法就是资源复用,即不再单独为每个连接创建进程,而是创建一个进程池,将连接分配给进程,一个进程可以处理多个连接的业务。

引入资源池的处理方式后,会引出一个新的问题:进程如何才能高效地处理多个连接的业务?当一个连接一个进程时,进程可以采用“read -> 业务处理 -> write”的处理流程,如果当前连接没有数据可以读,则进程就阻塞在 read 操作上。这种阻塞的方式在一个连接一个进程的场景下没有问题,但如果一个进程处理多个连接,进程阻塞在某个连接的 read 操作上,此时即使其他连接有数据可读,进程也无法去处理,很显然这样是无法做到高性能的。

解决这个问题的最简单的方式是将 read 操作改为非阻塞,然后进程不断地轮询多个连接。这种方式能够解决阻塞的问题,但解决的方式并不优雅。首先,轮询是要消耗 CPU 的;其次,如果一个进程处理几千上万的连接,则轮询的效率是很低的。

为了能够更好地解决上述问题,很容易可以想到,只有当连接上有数据的时候进程才去处理,这就是 I/O 多路复用技术的来源。

I/O 多路复用技术归纳起来有两个关键实现点:

  • 当多条连接共用一个阻塞对象后,进程只需要在一个阻塞对象上等待,而无须再轮询所有连接,常见的实现方式有 select、epoll、kqueue 等。
  • 当某条连接有新的数据可以处理时,操作系统会通知进程,进程从阻塞状态返回,开始进行业务处理。

I/O 多路复用结合线程池,完美地解决了 PPC 和 TPC 的问题,而且“大神们”给它取了一个很牛的名字:Reactor,中文是“反应堆”。联想到“核反应堆”,听起来就很吓人,实际上这里的“反应”不是聚变、

http://www.bjxfkj.com.cn/article/110644.html

相关文章:

  • 动漫网站html网站建设在会计里算什么资产
  • 移动端网站定制今天开始做魔王免费观看网站
  • 可以做推广的门户网站领动云建站
  • 优惠券网站怎么做母婴会所网站建设
  • 哪个网站发布招聘信息免费泰安建设工程信息网
  • 情人节网站源码下载好项目推荐平台
  • 免费学校网站模板wordpress 框架嵌入
  • 用dw建立网站杭州品牌网站建设
  • 建一个展示的网站要多少钱wordpress 字母标签页
  • 默认网站预览能能显示建设中qq营销网站源码
  • 关于网站建设方案常州网站建设青之峰
  • 上海建设银行网站设计网站建设合同书6
  • 外贸网站外包用超轻粘土做网站
  • js源码下载从哪个网站能下载wordpress 主机销售
  • 外国做家具的网站电话销售-网站建设-开场白
  • 俄语网站制作lol网站怎么做
  • 网站模仿算侵权吗wordpress如何发布文件夹
  • 响应式网站哪里做百度一下就知道官网
  • 网站做不做账app开发流程表
  • 贵阳网站开发高端网站建设磐石网络好
  • 做视频网站新手教学建设银行网银网站无法访问
  • 怎么到百度做网站武夷山网站建设
  • 做视频网站赚钱嘛手机做简单的网站
  • 定制网站的好处网红营销视频
  • 重庆招聘网最新招聘信息宁阳县网络seo
  • 如何转移网站丰城网站建设公司
  • 湖南3合1网站建设价格做数学ppt工具的网站
  • dedecms 获取网站地址营销型网站建设实战
  • 如何做网站数据库备份wordpress没有账号
  • 不用登录的游戏seo排名怎么提高