同步(Synchronous)和异步(Asynchronous)

Posted it-cpc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步(Synchronous)和异步(Asynchronous)相关的知识,希望对你有一定的参考价值。

同步异步是啥?打个比方:

你去商城买东西,你看上了一款手机,能和店家说你一个这款手机,他就去仓库拿货,你得在店里等着,不能离开,这叫做同步。现在你买手机赶时髦直接去京东下单,下单完成后你就可用做其他时间(追剧、打王者、lol)等货到了去签收就ok了.这就叫异步。

 

更具体点拿我们的方法调用来举例子:

  • 同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。
  • 异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而,异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作

我加两张图让你更好理解

由于只有一个线程,就相当于只有一个人干活,只能一步一步来。

技术图片

异步执行,相当于多个人更好,通常异步执行完成以后会调用回掉函数。比如 ajax 的异步就是采用回掉的方式来获取执行结果的

技术图片

 

以上是关于同步(Synchronous)和异步(Asynchronous)的主要内容,如果未能解决你的问题,请参考以下文章

同步(Synchronous)和异步(Asynchronous)

阻塞(Blocking)非阻塞(Non-Blocking)与同步(Synchronous)异步(Asynchronous)

postgreSQL数据库同步流复制和异步流复制控制

如何理解 JMS 中的“同步”和“异步”消息传递?

异步传输-同步传输

同步和异步的概念