美文网首页
NIO基础之同步、异步、阻塞、非阻塞

NIO基础之同步、异步、阻塞、非阻塞

作者: 端木轩 | 来源:发表于2019-02-11 14:08 被阅读15次

这里区分几个概念,也是常见但是容易混淆的概念,就是标题中的同步、异步、阻塞、非阻塞。

一、同步与异步

同步与异步,关心的是消息通信的机制。也就是调用者和被调用者之间,消息是如何进行通知的。如果是调用者主动等待调用的结果,那么就是同步如果是被调用者主动去通知调用者,就是异步。<br />从上面的描述中,我们可以看到。同步还是异步,主要是看的消息通知的方式,一个是调用者主动等待,一个是调用者被通知。

二、阻塞与非阻塞

同样的,对于这样两个概念,我们细细思考下,并不难理解。这两个概念都是针对于调用者来说的,如果调用者在等待调用结果时,不能做其他的事情,就是阻塞;否则就是非阻塞。也就是看调用过程中,调用者线程的状态,调用线程被挂起,无法进行其他的操作,就是阻塞;如果不被挂起,还能继续其他的操作,就是非阻塞。

三、组合

针对以上四个名词,我们进行组合,可以得到另外四个名词:同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。这几个名词我们经常可以见到,但是理解一下也不难。我们举个例子来看看。<br />比如,我们要用迅雷下载一个文件,这个文件很大,大概要下载1个小时。<br />如果在下载过程中,我们什么事也不做,就坐在电脑前,盯着迅雷等着下完,这个过程就是同步阻塞。<br />如果在下载过程中,我们也是坐在电脑前什么也不做,但是迅雷下载完成会通过音乐来通知我们下完了,这样就是异步阻塞。<br />如果在下载过程中,我们不在电脑边上,可以去看书,玩耍,但是要时不时的去电脑前看看有没有下载完,这个过程就是同步非阻塞。<br />如果在下载过程中,我们不在电脑边上,也不用去电脑上看着,而且在下载完成后,迅雷放了一段音乐来提醒我们已经下载完成,这个过程就是异步非阻塞。

欢迎大家关注我的公众号,有各种一线分享。

qrcode_for_gh_2e415bdf9b4e_258.jpg

相关文章

  • 谈论:同步异步阻塞非阻塞.md

    同步/异步:关注的方式(是否主动) 阻塞/非阻塞: 同步阻塞BIO: 同步非阻塞NIO: 异步非阻塞: 异步阻塞:

  • 分布式理论架构设计

    IO模型 BIO 同步阻塞 NIO 同步非阻塞 AIO 异步非阻塞 NIO核心组件 Selector Channe...

  • java IO、NIO、AIO

    IO流(同步、阻塞) 、 NIO(同步、非阻塞) 、 NIO2(异步、非阻塞) 概述在我们学习Java的IO流之前...

  • 百万架构师精心要养育IO三兄弟,来听听他的“辛苦经历”

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、同步阻塞的BIO 在JDK...

  • BIO NIO AIO

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 阻塞和非阻塞:是针对于进程在访...

  • I/O详解之BIO,NIO,AIO概念

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 1.IO场景 同步阻塞IO(B...

  • --java-IO模型

    一、概述 IO的方式通常分为同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO 同步和异步 是针对应用程序和...

  • NIO基础之同步、异步、阻塞、非阻塞

    这里区分几个概念,也是常见但是容易混淆的概念,就是标题中的同步、异步、阻塞、非阻塞。 一、同步与异步 同步与异步,...

  • UNIX 的5种IO模型介绍

    IO模型同步、异步、阻塞、非阻塞socket阻塞与非阻塞,同步与异步 同步和异步 同步/异步主要针对C端-同步就像...

  • Netty基础-JAVA IO模型

    java - IO模型 BIO NIO AIO 同步与异步,阻塞与非阻塞 同步与异步是面向多个线程协作的情况。 假...

网友评论

      本文标题:NIO基础之同步、异步、阻塞、非阻塞

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