精华内容
下载资源
问答
  • 同步阻塞,同步非阻塞,异步阻塞,异步非阻塞区别和关系
    举个例子:

    1    同步阻塞和同步非阻塞

    两个银行:A和B。

        A银行让顾客先取号,然后排队,顾客要时不时关注电子屏幕来获取叫号信息。B银行,也是一样,但是不同的是它不需要顾客排队,顾客可以先做其他的事情。

        A相当于同步阻塞,B相当于同步非阻塞。

    2   异步阻塞和异步非阻塞

    两个银行:A和B。

        A银行让顾客取号,然后排队,银行会使用语音通知叫号信息。B银行和A银行是一样的,唯一的区别就是顾客不用排队,可以先做其他的事情。

        A相当于异步阻塞。B相当于异步非阻塞。
    展开全文
  • 一个你烧开水的例子:1、你开始烧开水,你就站在那里不停地看着水开没开,直到水开了--同步阻塞;2、你开始烧开水,你不在那里干等着,而是去玩会手机,但是你每隔段时间会来看看水开没开,直到水开了--同步非阻塞;...

    同步/异步消息通信机制,也就是调用者如何获取结果的方式来讲的---

        同步:调用者调用方法之后不返回,直到得到结果后返回;

        异步:调用者调用方法之后不管结果,直接返回,结果是被调用者通过状态或者通知或者回调函数来告诉调用者;

    阻塞/非阻塞是对等待调用结果这段时间线程的状态来讲的---

        阻塞:调用结果返回之前,当前线程被挂起;

        非阻塞:调用结果返回之前,当前线程不被挂起,正常继续执行;


    同步/异步 和 阻塞/非阻塞 之间无关。

    举个例子:

    异步阻塞:调用一个下载函数(会开启一个下载线程,在下载线程里去下载),然后直接返回,之后当前线程挂起,直到该下载有了结果通过回调告诉当前线程成功了还是失败了,并且唤醒当前线程继续运行;


    异步结果同步的方法:synchronize和CountDownLatch

    1、通过synchronize( waitObject ){ waitObject.wait();}挂起当前线程,因为当前线程已经挂起,所以如果要唤醒当前线程,需要另外一个线程来唤醒它,可用synchronize(waitObject){waitObject.notifyAll( )或者是waitObject.notify( );}。---通常是用于简单的一个层级的结果同步;当然也可用于嵌套模式的结果同步,也就是逐级唤醒线程;

    2、通过CountDownLatch来做,在需要挂起线程的地方通过 latch.await( )的方法(latch的计数如果大于0,则线程会被挂起,否则不会),在其他线程回调返回结果的地方用latch.countDown( )来释放线程,当latch的初始值为大于1时,latch需要等所有的结果返回后被countDown( ) 为0后挂起的线程才会继续执行。---通常是用于有多个结果需要同步才唤醒线程的场景;比如,一次发起多个文件下载,多个文件下载有了结果之后才能继续后续处理,此时就可以用latch来做结果的同步。


    展开全文
  • 主要介绍了java 中同步、异步、阻塞和阻塞区别详解的相关资料,需要的朋友可以参考下
  • 异步or 同步 关注的是 发出调用后,当前这个调用是否直接返回,不管是否有返回结果<调用的结果> 阻塞还是非阻塞关注的是:程序等待调用的结果<返回值>的状态,在无法得到返回值的情况下,调用是否会阻塞...

    异步&同步

    • 异步or 同步 关注的是 客户端调用服务器接口后,是否有相应的调用的结果
    • 同步和异步关注的是消息通信机制
    • 所谓同步,就是在发出一个调用时,没得到结果之前,该*调用*就不返回调用者主动等待这个调用的结果
    • 所谓异步,就是在发出一个调用时,这个调用就直接返回了,不管返回有没有结果。当一个异步过程调用发出后,被调用者通过状态(回调函数)来通知调用者

    阻塞&非阻塞

    • 阻塞or 非阻塞关注的是:程序等待调用的过程,在无法得到返回值的情况下,客户端是否会阻塞当前线程而发生等待.
    • 阻塞和非阻塞关注的是程序在等待调用结果时的状态
    • 阻塞调用是指调用结果返回之前,当前线程会被挂起
    • 非阻塞调用是指在不能立即得到结果之前,该调用不会阻塞当前线程

    图解

    在这里插入图片描述

    事件驱动+同步IO的多路复用模式

    ■轮询: select, poll

    ■事件驱动: epoll有效轮询

    the Shoulders of Giant

    计算机领域中的同步(Synchronous)和异步(Asynchronous)
    怎样理解阻塞非阻塞与同步异步的区别?
    深入理解并发 / 并行,阻塞 / 非阻塞,同步 / 异步

    展开全文
  • 同步异步和阻塞阻塞区别

    请参考一下内容:
    在这里插入图片描述

    展开全文
  • 原因可能是因为同步/异步阻塞/非阻塞是分不开的,而常见的情况是 同步阻塞 异步非阻塞 ,所以容易把同步阻塞混淆,把异步非阻塞混淆。 其实,同步包括了 同步阻塞 同步非阻塞 ,异步也包括了 异步阻塞 ...
  • 同步和阻塞

    2019-03-29 14:10:20
    同步和异步针对应用程序来,关注的是程序中间的协作关系;阻塞与非阻塞更关注的是单个进程的执行状态。 同步:执行一个操作之后,等待结果,然后才继续执行后续的操作。 异步:执行一个操作后,可以去执行其他的...
  • 目录一、什么是异步编程1、同步阻塞2、同步非阻塞3、异步方式14、异步方式2 一、什么是异步编程 我们以一种通俗易懂的方式来说说啥是同步、啥是异步;相信看完就不会再有疑惑了。 1、同步阻塞 有一天你饿了,想吃饭...
  •  前一段时间出去面试,被问到同步、异步与阻塞、非阻塞区别。我一时半会没有想出来,作为一个工作三年的人来说,实在很惭愧。我当时理解同步、异步属于两个进程中间的协作关系,例如使用浏览器访问一个网站,需要...
  • 一、同步和异步 同步和异步是一种 消息通知机制 同步:发出一次请求后必须等到该请求有返回结果,才能继续下一步工作;请求者需主动询问是否有返回结果; 异步:发出一次请求后无需等到该请求有返回结果,即可进行...
  • 主要介绍了科学知识:同步、异步、阻塞和阻塞区别,本文分别讲解了这些概念,需要的朋友可以参考下
  • 对于调用者来说是阻塞和阻塞,被调用者是同步和异步。 同步:发了消息后,返回的结果由调用方来处理 异步:发了消息后,调用方不管了,返回的结果由我们写好程序来自动回调处理 阻塞:发了消息,调用方啥也不干...
  • 同步和异步的区别同步阻塞的关系 同步  同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。  要想实现同步操作,必须要获得线程的对象锁。获得它可以保证在同一时刻只有一个线能够进入...
  • 一、同步~异步~阻塞~非阻塞  同步(Synchronous)异步(Asynchronous)的概念本来来自通信领域:首先是通信的同步,主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求,所以这个时候的...
  • 主要介绍了JAVA同步、异步、阻塞和阻塞之间的区别,文中讲解非常细致,帮助大家更好的理解学习,感兴趣的朋友可以了解下
  • 同步和异步关注的是消息通信机制。阻塞和阻塞关注的是程序在等待调用结果(消息,返回值)时的状态
  • Java之阻塞和阻塞以及同步和异步的区别

    万次阅读 多人点赞 2018-05-16 10:47:22
    转载:https://www.cnblogs.com/George1994/p/6702084.html阻塞非阻塞,同步异步1 例子故事:老王烧开水。出场人物:老张,水壶两把...-同步阻塞老王想了想,这种方法不够聪明。2.老王还是用水壶煮水,不再傻傻...
  • 同步/异步 阻塞/非阻塞区别

    千次阅读 2017-02-21 17:38:03
    同步 异步 阻塞阻塞
  • 同步是:每次自己主动的去问要结果 异步是:不用管,等好了会通知我的 集群:是不同的机器做相同的事 分布式是:每个模块都单独的独立处理,...同步阻塞的  普通水壶不在旁边看 ------&gt;同步非阻塞的  ...
  • 同步阻塞区别

    2021-02-26 12:25:10
    阻塞:表示该线程被挂起,失去cpu操作权利,等待被唤醒。 同步:线程仍然在运行,没有被挂起,比如在一个线程中,需要调用一个本地方法或者远程方法,在本地方法或远程方法返回前,该线程不能继续向下执行。 ...
  • 理解同步/异步和阻塞/非阻塞区别

    千次阅读 多人点赞 2017-03-30 09:37:04
    同步/异步和阻塞/非阻塞区别...
  • 同步阻塞、同步非阻塞、异步阻塞、异步非阻塞先验知识此处的异步指的是什么同步、异步、阻塞、非阻塞同步阻塞、同步非阻塞、异步阻塞、异步非阻塞一个生动的例子 先验知识   在解释这几个概念之前,需要注意的是:...
  • 同步与异步 同步(Synchronous) 异步( Asynchronous) ...同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)。同步,就是调用某个东西,调用方得等待这个调用返
  • 同步和异步 定义:描述的是程序的提交方式(消息的通信机制) 区别同步:任务提交之后,原地等待任务的返回结果,等待的过程中不做任何事,也就是等待结果之后才能继续往后执行 异步:任务提交之后,不再等待任务...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 420,061
精华内容 168,024
关键字:

同步和阻塞的区别