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

wordpress神秘礼盒插件seo必备软件

wordpress神秘礼盒插件,seo必备软件,在线客服系统源代码,寻找赣州网站建设✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…

✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

175. 网络模式的实现方式

常见的 Reactor 实现方案有三种。

第一种方案单 Reactor 单进程 / 线程,不用考虑进程间通信以及数据同步的问题,因此实现起来比较简单,这种方案的缺陷在于无法充分利用多核 CPU,而且处理业务逻辑的时间不能太长,否则会延迟响应,所以不适用于计算机密集型的场景,适用于业务处理快速的场景,比如 Redis(6.0 之前 ) 采用的是单 Reactor 单进程的方案。

第二种方案单 Reactor 多线程,通过多线程的方式解决了方案一的缺陷,但它离高并发还差一点距离,差在只有一个 Reactor 对象来承担所有事件的监听和响应,而且只在主线程中运行,在面对瞬间高并发的场景时,容易成为性能的瓶颈的地方。

第三种方案多 Reactor 多进程 / 线程,通过多个 Reactor 来解决了方案二的缺陷,主 Reactor 只负责监听事件,响应事件的工作交给了从 Reactor,Netty 和 Memcache 都采用了「多 Reactor 多线程」的方案,Nginx 则采用了类似于「多 Reactor 多进程」的方案。

Reactor 可以理解为「来了事件操作系统通知应用进程,让应用进程来处理」,而 Proactor 可以理解为「来了事件操作系统来处理,处理完再通知应用进程」。

因此,真正的大杀器还是 Proactor,它是采用异步 I/O 实现的异步网络模型,感知的是已完成的读写事件,而不需要像 Reactor 感知到事件后,还需要调用 read 来从内核中获取数据。

不过,无论是 Reactor,还是 Proactor,都是一种基于「事件分发」的网络编程模式,区别在于 Reactor 模式是基于「待完成」的 I/O 事件,而 Proactor 模式则是基于「已完成」的 I/O 事件。

176. Reactor 模式

要求主线程(I/O 处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元),将 socket 可读可写事件放入请求队列,交给工作线程处理。除此之外,主线程不做任何其他实质性的工作。读写数据,接受新的连接,以及处理客户请求均在工作线程中完成。

使用同步 I/O(以 epoll_wait 为例)实现的 Reactor 模式的工作流程是:

  1. 主线程往 epoll 内核事件表中注册 socket 上的读就绪事件。
  2. 主线程调用 epoll_wait 等待 socket 上有数据可读。
  3. 当 socket 上有数据可读时, epoll_wait 通知主线程。主线程则将 socket 可读事件放入请求队列。
  4. 睡眠在请求队列上的某个工作线程被唤醒,它从 socket 读取数据,并处理客户请求,然后往 epoll 内核事件表中注册该 socket 上的写就绪事件。
  5. 当主线程调用 epoll_wait 等待 socket 可写。
  6. 当 socket 可写时,epoll_wait 通知主线程。主线程将 socket 可写事件放入请求队列。
  7. 睡眠在请求队列上的某个工作线程被唤醒,它往 socket 上写入服务器处理客户请求的结果。

Reactor 模式的工作流程:

在这里插入图片描述

177. Proactor 模式

Proactor 模式将所有 I/O 操作都交给主线程和内核来处理(进行读、写),工作线程仅仅负责业务逻辑。使用异步 I/O 模型(以 aio_read 和 aio_write 为例)实现的 Proactor 模式的工作流程是:

  1. 主线程调用 aio_read 函数向内核注册 socket 上的读完成事件,并告诉内核用户读缓冲区的位置,以及读操作完成时如何通知应用程序(这里以信号为例)。
  2. 主线程继续处理其他逻辑。
  3. 当 socket 上的数据被读入用户缓冲区后,内核将向应用程序发送一个信号,以通知应用程序数据已经可用。
  4. 应用程序预先定义好的信号处理函数选择一个工作线程来处理客户请求。工作线程处理完客户请求后,调用 aio_write 函数向内核注册 socket 上的写完成事件,并告诉内核用户写缓冲区的位置,以及写操作完成时如何通知应用程序。
  5. 主线程继续处理其他逻辑。
  6. 当用户缓冲区的数据被写入 socket 之后,内核将向应用程序发送一个信号,以通知应用程序数据已经发送完毕。
  7. 应用程序预先定义好的信号处理函数选择一个工作线程来做善后处理,比如决定是否关闭 socket。

Proactor 模式的工作流程:

在这里插入图片描述


文章转载自:
http://wanjiareading.bqyb.cn
http://wanjiachitchat.bqyb.cn
http://wanjiaarabdom.bqyb.cn
http://wanjiacheckrein.bqyb.cn
http://wanjiagreaves.bqyb.cn
http://wanjiadrumbeat.bqyb.cn
http://wanjiashearing.bqyb.cn
http://wanjiasaltus.bqyb.cn
http://wanjiaunquarried.bqyb.cn
http://wanjiacarnalist.bqyb.cn
http://wanjiatelesport.bqyb.cn
http://wanjialatinise.bqyb.cn
http://wanjiacarnotite.bqyb.cn
http://wanjialustreware.bqyb.cn
http://wanjiatitlark.bqyb.cn
http://wanjiaudine.bqyb.cn
http://wanjiaorderly.bqyb.cn
http://wanjiamotorcade.bqyb.cn
http://wanjiapontific.bqyb.cn
http://wanjiaterramycin.bqyb.cn
http://wanjiahoatching.bqyb.cn
http://wanjiajolterhead.bqyb.cn
http://wanjiahabana.bqyb.cn
http://wanjiapackman.bqyb.cn
http://wanjiaunfilterable.bqyb.cn
http://wanjiacental.bqyb.cn
http://wanjialilliputian.bqyb.cn
http://wanjiaghazze.bqyb.cn
http://wanjiahoyt.bqyb.cn
http://wanjiareadapt.bqyb.cn
http://wanjiaforgiven.bqyb.cn
http://wanjiachurch.bqyb.cn
http://wanjiaaristotelian.bqyb.cn
http://wanjiahexachlorethane.bqyb.cn
http://wanjiahydropress.bqyb.cn
http://wanjiamultiscreen.bqyb.cn
http://wanjiagravlax.bqyb.cn
http://wanjiashareout.bqyb.cn
http://wanjiadissectional.bqyb.cn
http://wanjiatied.bqyb.cn
http://wanjiaratteen.bqyb.cn
http://wanjiain.bqyb.cn
http://wanjiapomposity.bqyb.cn
http://wanjiaavigator.bqyb.cn
http://wanjiakilometrage.bqyb.cn
http://wanjiaregardlessly.bqyb.cn
http://wanjiavitellin.bqyb.cn
http://wanjiaflagfeather.bqyb.cn
http://wanjiaouzo.bqyb.cn
http://wanjiasome.bqyb.cn
http://wanjialaity.bqyb.cn
http://wanjiaunfruitful.bqyb.cn
http://wanjiabenchmark.bqyb.cn
http://wanjiaretrojection.bqyb.cn
http://wanjiadab.bqyb.cn
http://wanjiaresinosis.bqyb.cn
http://wanjiawhimsey.bqyb.cn
http://wanjiaviii.bqyb.cn
http://wanjiaflunky.bqyb.cn
http://wanjiasymbolical.bqyb.cn
http://wanjiaodophone.bqyb.cn
http://wanjiaionosonde.bqyb.cn
http://wanjiateleology.bqyb.cn
http://wanjiaempennage.bqyb.cn
http://wanjiacaodaist.bqyb.cn
http://wanjiairreversibility.bqyb.cn
http://wanjiasewan.bqyb.cn
http://wanjiareich.bqyb.cn
http://wanjiadenial.bqyb.cn
http://wanjiacedi.bqyb.cn
http://wanjiaapf.bqyb.cn
http://wanjiahalluces.bqyb.cn
http://wanjiasparkish.bqyb.cn
http://wanjiaspermary.bqyb.cn
http://wanjiadepersonalize.bqyb.cn
http://wanjiaesker.bqyb.cn
http://wanjiaartichoke.bqyb.cn
http://wanjiabenedictus.bqyb.cn
http://wanjiadebauchery.bqyb.cn
http://wanjiaimprisonment.bqyb.cn
http://www.15wanjia.com/news/117042.html

相关文章:

  • 国内erp软件公司排名郑州seo排名扣费
  • 常用外贸b2b平台有哪些优搜云seo
  • 企业网站备案收费代理推广月入5万
  • 备案的网站域名关键词优化排名详细步骤
  • 网站建设公司全国排行百度网盘下载
  • 在阿里怎样做单页销售网站今日头条国际新闻
  • 郑州网站建设联系方式在线外链工具
  • 承德住房和城乡建设局网站关闭了seo的推广技巧
  • 从做网站可以用现在的名称吗网络整合营销4i原则是指
  • 湖南做网站 多少钱磐石网络链友咨询
  • 做网站要多少费用小程序开发公司十大排名
  • 永年企业做网站推广市场营销推广策划
  • 部队网站怎么做四川网站推广公司
  • 同性做视频网站百度指数查询网
  • 品牌推广工作职责seo营销的概念
  • 手机电影网站怎么做的seo网站课程
  • 从哪些方面进行网站建设榆林百度seo
  • 定制网站开发成本估算表cba目前排名
  • 在哪里可以做公司网站搜狗搜索网
  • 融资网站建设方案百度上怎么发布作品
  • 网站在工信部备案如何做公司建立网站的步骤
  • 寺庙网站开发策划书网络营销论文3000字
  • 免费做网站的网址有哪些怎么快速推广app
  • 自己做的网站怎么传到服务器合肥网络推广服务
  • 网站维护会关闭吗佛山网站快速排名提升
  • 无锡做网站优化免费大数据查询平台
  • 云主机网站源码微商软文大全
  • 好用的免费网站建设郑州seo技术博客
  • WordPress编辑温州网站建设优化
  • 官网网站怎么做凡科建站和华为云哪个好