同步(Synchronous)和异步(Asynchronous)
Posted it-cpc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步(Synchronous)和异步(Asynchronous)相关的知识,希望对你有一定的参考价值。
同步异步是啥?打个比方:
你去商城买东西,你看上了一款手机,能和店家说你一个这款手机,他就去仓库拿货,你得在店里等着,不能离开,这叫做同步。现在你买手机赶时髦直接去京东下单,下单完成后你就可用做其他时间(追剧、打王者、lol)等货到了去签收就ok了.这就叫异步。
更具体点拿我们的方法调用来举例子:
- 同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。
- 异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而,异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作
我加两张图让你更好理解
由于只有一个线程,就相当于只有一个人干活,只能一步一步来。
异步执行,相当于多个人更好,通常异步执行完成以后会调用回掉函数。比如 ajax 的异步就是采用回掉的方式来获取执行结果的
以上是关于同步(Synchronous)和异步(Asynchronous)的主要内容,如果未能解决你的问题,请参考以下文章
同步(Synchronous)和异步(Asynchronous)
阻塞(Blocking)非阻塞(Non-Blocking)与同步(Synchronous)异步(Asynchronous)