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

公众号建网站石家庄seo代理商

公众号建网站,石家庄seo代理商,重庆品牌设计公司,搭建wordpress测试环境再解释三者之前我们需要先了解几个概念: 阻塞、非阻塞:是相较于线程来说的,如果是阻塞则线程无法往下执行,不阻塞,则线程可以继续往下 执行。同步、异步:是相较于IO来说的,同步需要等待IO操作完…

再解释三者之前我们需要先了解几个概念:

  1. 阻塞、非阻塞:是相较于线程来说的,如果是阻塞则线程无法往下执行,不阻塞,则线程可以继续往下 执行。
  2. 同步、异步:是相较于IO来说的,同步需要等待IO操作完毕后再往下执行,异步等待IO执行完毕后被通知去操作数据就好了。

此时我们将这四个概念组合起来就是BIO、NIO和AIO了。

1、BIO(Blocking I/O):

        BIO是同步阻塞模型,他再进行IO操作时需要进行等待,等待IO操作完成才能继续往下执行,再没有数据可读时,它会阻塞再这里,不继续往下执行,直到有数据可读。这样的模型时很浪费资源的。 而且这种同步阻塞模式下,一个线程只能监测一个socket端口,因为如果检测两个socket,一个因为第一个socket迟迟没有可读操作,一直阻塞着,则第二个socket即便有可读操作也无法进行读取,因为线程没有执行到那里。两个就如此麻烦,跟不用说更多socket了。所以再这种情况下需要创建很多线程。

        例如,当我们去散步,路过早餐店买早点,但包子还要一会儿才能熟,我们要在这一直等,等到熟了买好了才能继续散步,而不是先去散步,等散步回来后路过再买。这个等待时间也是成本。

适用场景:

BIO模型适用于简单的I/O操作,特别是在单线程环境下。由于BIO模型使用阻塞式I/O操作,它在处理少量并发连接时可能会比较简单和直观。因此,对于一些简单的网络服务或小型应用程序来说,BIO模型可能是一个合适的选择。

2、NIO(Non-blocking I/O):

        NIO是同步非阻塞模型,这个模型通过使用多路复用器将进行分离,由一个选择器(select)大量的文件描述符(一个文件描述符代表着一个socket,因为再linux中万物皆文件),当有事件发生时,选择器会接收到消息并将这些有事件发生的管道返回给应用程序进行处理。当然选择器返回给应用程序的是哪些管道有事件发生,并没有进行操作,所以读取这些操作还得有自己进行读取,再这里就是同步。并不进行阻塞,因为通过选择器将监测读取进行了分离,使这个模型不再阻塞。

        这就相当于早餐店老板充当选择器,当我想买包子时虽然还没好,但我会告诉老板我想要买包子,等包子好了和我说,当包子好了时,老板会打电话告诉所有预约包子事件的人(比如我),包子好了,快来拿。此时我就需要自己回去取包子吃。

适用场景:

NIO模型适用于需要处理大量并发连接的场景。由于NIO模型使用非阻塞式I/O操作和事件驱动的方式,它能够更高效地处理大量的并发连接,适合于构建高性能的网络服务或服务器应用程序。

3、AIO(Asynchronous I/O):

        AIO是异步非阻塞模型,它允许应用程序在发起I/O操作后继续执行其他任务,例如再NIO中他不需要自己去等待,而是待有事件发生时再去读取,而AIO则可以做到连读取都不需要自己读取,而是系统内核帮忙把数据都读取好了,自己再过去处理数据就好了。

        相当于当包子熟了后不是自己过去取包子,而是包子店老板把包子打包好送到你面前吃就好了。

适用场景:

        AIO模型适用于需要处理大量I/O操作且每个操作耗时较长的场景,比如数据库访问、磁盘读写、网络数据传输等。由于AIO模型使用异步I/O操作,它能够在等待I/O操作完成时执行其他任务,提高了系统的并发性能和资源利用率。

4、总结:

        再前面我并没有说异步阻塞,因为我觉得这两者的组合并没有什么用,好像也没有具体实现的模型,所有我并没有说它。

        总的来说,选择合适的I/O模型需要考虑到应用程序的需求、系统的特性以及预期的并发连接数量和I/O操作类型。不同的场景可能需要选择不同的I/O模型来获得最佳的性能和效率。

ps:在Java中,AIO模型的实现是通过NIO.2来实现的。NIO.2提供了对AIO模型的支持,使得开发者可以更方便地使用异步I/O操作来构建高性能的应用程序。

http://www.mnyf.cn/news/13785.html

相关文章:

  • 福州网站怎么做seo崇左seo
  • 定制网站和模板网站如何引流被动加好友微信
  • 荆门网站开发公司电话抖音seo软件工具
  • 建设嘉陵摩托车官方网站网站推广计划方法
  • 颍上县建设局网站百度排名点击
  • 做电影网站选服务器站长工具的使用seo综合查询运营
  • 时时彩怎么做网站制作一个简单的html网页
  • 哪个网站美丽乡村做的比较好百度地图在线使用
  • 专门做讲座的英语网站北京百度推广优化公司
  • 杭州市建设网站微商引流被加方法精准客源
  • 临海做网站深圳优化公司排名
  • 黄石公司做网站seo有哪些经典的案例
  • 网站建设成交话术网站排名前十
  • wordpress伪静态不跳转404南宁排名seo公司
  • wordpress网站速度优化百度关键词seo公司
  • 辽宁省档案网站建设新网站seo
  • 做网站的视频教学搜索关键词排名
  • 淮南网站建设好常见的网络营销模式
  • 沈阳营商环境建设局网站360搜索首页网址是多少
  • 壶关网站建设seo发贴软件
  • 淘宝客cms建站教程关键词查询
  • 建筑网站大全免费办理培训机构需要具备的条件
  • 电子商务网站建设的基本构成网络网站推广选择乐云seo
  • go语言 做网站百度网页版登录首页
  • 网站规划建设案例希爱力5mg效果真实经历
  • ps做网站上海百度seo网站优化
  • 建设一个小说网站的步骤一键开发小程序
  • 青岛外贸网站建设免费建立个人网站凡科
  • 网站alexa流量查询sem推广是什么意思
  • 广州 互联网公司 网站首页网站怎么收录