同步和异步有什么区别

原创 2018年04月16日 10:49:34
同步交互:  指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
异步交互:  指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
    同步一般在共享某一资源的时候用,如果每个人都有修改权限,同时修改一个文件,有可能使一个人读取另一个人已经删除的内容,就会出错, 同步就会按顺序来修改,同步机制能够保证资源的安全。
   异步与非阻塞类似,当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,异步能够提高程序的效率。

    同步和异步最大的区别就在于。一个需要等待,一个不需要等待。

举例子:

   同步:电话,发起者需要等待接收者,接通电话后,通信才开始。需要等待接收者的返回信息

   异步:广播,发起者不关心接收者的状态。不需要等待接收者的返回信息

哪些情况建议使用同步交互呢?比如银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作,其余情况都优先使用异步交互。


Okhttp之同步和异步请求简单分析

Okhttp同步和异步请求流程分析
  • chunqiuwei
  • chunqiuwei
  • 2017-08-11 23:05:05
  • 1381

小白写"半同步半异步"服务器模型踩坑实录(1)

我想按照自己的理解写一个”半同步半异步”的服务器模型,和常规的模式相同,分为三层: 最上层:使用epoll监控所有的socketfd,如果某个fd发生IO事件就将其加入中间层的任务队列。 中...
  • yangbodong22011
  • yangbodong22011
  • 2016-07-27 16:40:46
  • 448

简述同步IO和异步IO的区别

同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交请求->...
  • Crazy_Tengt
  • Crazy_Tengt
  • 2018-02-01 11:25:00
  • 159

并行和并发、同步和异步的区别

1、并行 对多处理器而言--多个程序在同一时刻发生,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。 并行:在单处理器中多道程序设计系统中,进程被交替...
  • gogoky
  • gogoky
  • 2013-08-06 20:49:32
  • 1407

关于多线程中同步和异步的理解

线程同步:就是多个线程同时访问同一资源,必须等一个线程访问结束,才能访问其它资源,比较浪费时间,效率低 线程异步:访问资源时在空闲等待时可以同时访问其他资源,实现多线程机制 说起来比较抽象,我用代...
  • TP465821361
  • TP465821361
  • 2016-08-15 22:30:57
  • 649

串口 同步和异步 理解

本文主要三大块:一,串口同步和异步在地产通行上的区别(这部分点到为止,不是主要探讨内容,有个基本理解即可)。                              二,串口同步和异步编程实例及详解...
  • cs74184235
  • cs74184235
  • 2015-09-14 14:29:02
  • 982

js的同步和异步

1.参考文章: http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html
  • tang7837010
  • tang7837010
  • 2014-12-25 14:46:02
  • 4144

同步和异步有何异同,什么场景使用,举例说明!

同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以再发送下一个请求 同步可以避免出现死锁,读脏数据的发生,一般共享某一资源的时候用,如果每个人都有修改权限...
  • qq_36179561
  • qq_36179561
  • 2016-11-30 18:47:26
  • 595

线程同步和异步区别 同步机制

线程同步和线程异步有什么区别?(重要基础知识) 打个比方,如果你在等一个人, 同步的时候,你会一直等到她来了之后才做其他事情,这个过程除了等待你啥都不会做, 异步的时候,你一边在等,可能一边玩游...
  • u011676589
  • u011676589
  • 2013-09-04 12:56:22
  • 1698

android的Service中onCreate与onStartCommand的区别

服务生命周期中主要有三个重要的阶段: 1)创建服务 onCreate 2)开始服务 onStartCommand 3)销毁服务  onDestroy 一个服务只会创建一次,销毁...
  • Zophar_Development
  • Zophar_Development
  • 2017-11-15 10:19:29
  • 44
收藏助手
不良信息举报
您举报文章:同步和异步有什么区别
举报原因:
原因补充:

(最多只允许输入30个字)