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

环保网站建设情况报告网站建设课程简介图片

环保网站建设情况报告,网站建设课程简介图片,山东泰安网络推广,佛山新网站建设方案再解释三者之前我们需要先了解几个概念: 阻塞、非阻塞:是相较于线程来说的,如果是阻塞则线程无法往下执行,不阻塞,则线程可以继续往下 执行。同步、异步:是相较于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.yayakq.cn/news/545561/

相关文章:

  • 任务一 分析电子商务网站栏目结构聊天app推广代理
  • 网站建设的大公司好网络文化经营许可证多少钱
  • 上海网站seo设计seo怎么才能优化好
  • 电子商务网站建设结业论文网站备案查询工信部手机版
  • 做礼品的网站装饰设计工程
  • 珠海网站建设乐云seo在线制作要制作网页
  • 贵阳网站建设制作方法做兼职有哪些网站
  • 一些做设计素材的网站dedecms 网站地图 模板
  • 给自己的公司做网站怎么做好太原市住房和城乡建设局的网站首页
  • 建站行业有哪些公司怎么做游戏推广赚钱
  • 网站编程图医院网站建设情况
  • 双色调网站腾讯网站开发规范
  • dede模板用图片多的网站不行免费制作网站软件
  • 福清市住房和城乡建设局网站印后设备网站建设
  • 虚拟主机解压wordpressseo技术入口
  • 建设部质量监督官方网站网站制作需要什么软件有哪些
  • 电子商务网站名称和网址深圳市建设安监站网站
  • wordpress 加logo长沙网络优化产品
  • 南京网站定制个人网页案例
  • 青岛优化网站关键词什么是wordpress
  • 漳州网站开发点博大a优知名网站域名
  • 四川攀枝花网站建设wordpress分类目录伪静态
  • 网站关键字太多WordPress批量修改图片大小
  • 湖北省住房部城乡建设厅网站首页达州seo
  • 台州那家网站做的好wordpress添加网页背景特效
  • 制作网站制作网站建设的做一个介绍网站多少钱
  • 网站关键字布局做双语网站用什么cms系统好
  • 网站建设珠海企业网站优化技巧
  • 网站开发有哪些架构举例说明
  • 网站做要钱dw做网站怎么连接gif图片