美文网首页
异步IO的优势

异步IO的优势

作者: 赵仝 | 来源:发表于2020-10-13 19:43 被阅读0次

今天主要在这里分享一下异步I/O的优势。
要说异步IO的优势,那么我们先来看看同步I/O。首先使用同步I/O时,面对性能问题,传统的做法都是使用多线程的方式去解决,但是多线程的引入在业务逻辑层会造成很多麻烦。另外操作系统调度多线程的上下文开销,以及编程中的各种锁,同步问题,让人应接不暇。

NodeJs则利用JavaScript及其内部的异步库,将异步直接提升到业务层面,这是一种创新。
NodeJs的灵魂所在是基于事件驱动的非阻塞I/O模型。非阻塞I/O可以使CPU与I/O并不相互依赖等待,让资源得到更好的利用。对于网络应用而言,并行带来的想象空间更大,延展而开的是分布式和云。并行使得各个单点之间能够更有效的组织起来,这也是Node在云计算厂商中广受青睐的原因。

我的理解,异步IO其实是任务的一种更好的分配方式,因为绝大多数场景下,我们更期待于任务完成时告诉我,而不是我等着任务完成。

异步I/O的调用示意图如下:

异步IO

同步I/O的调用示意图如下:


同步IO

所以在使用异步I/O时我们应当先明确其优点,这样在编码过程中代码才能体现出异步编程的思想。

相关文章

  • 异步IO的优势

    今天主要在这里分享一下异步I/O的优势。要说异步IO的优势,那么我们先来看看同步I/O。首先使用同步I/O时,面对...

  • Java IO快速入门

    网络IO实现方式分为BIO(阻塞IO)、线程池伪异步IO、NIO(非阻塞IO)、AIO(异步非阻塞IO); 异步、...

  • scrapy实战笔记

    一,基础 scrapy优势:异步IO,性能强;内置功能丰富(css,xpath);易扩展爬虫简要步骤:URL分析,...

  • 初识node

    Node 基础 浏览器工作原理(Node优势):事件驱动(事件轮询)和非阻塞IO处理(异步IO)传统服务器是同步I...

  • 前端进阶全栈-Node的异步IO

    本文力图详尽解释node的异步IO: 异步IO的产生背景 Node中的异步IO具体的实现 非I/O的异步API 一...

  • Redis与Memcache对比

    Memchache 特点 处理请求时使用多线程异步 IO 的方式,可以合理利用 CPU 多核的优势,性能非常优秀;...

  • 问题四:缓存Redis

    1、Redis和Memcache对比 memcache:(1)是异步多线程io,可以发挥cpu的多核优势(2)只支...

  • nodejs查询数据库后将值返回前端

    nodejs最大的优势也是大家用着最为难以理解的一点,就是它的异步功能,它几乎所有的io操作都是异步的,这也就导致...

  • Reactor 与Proactor

    按照posix标准,系统io分为同步io和异步io两种,其中同步io常用的是bio nio。异步io有aio。 从...

  • NodeJS基础原理

    NodeJS基础原理 异步IO原理浅析及优化方案 异步IO的好处(输入输出input output) 前端通过异步...

网友评论

      本文标题:异步IO的优势

      本文链接:https://www.haomeiwen.com/subject/yscbpktx.html