5703发表于 2020-01-01 12:22:59
只看该作者楼主

Synchronous和Asynchronous [复制链接]

本帖最后由 2020-01-01 12:23:57 编辑

同步与异步


在计算机术语中,有同步操作和异步操作两个经常一同出现的概念。同步操作是指在计算机执行过程中,多个操作一个接一个的线性执行异步操作指多个操作在没有先后依赖关系的情况下,并行或并发的执行(即后一个操作不会依赖前一个操作的结果)。

同步操作的优势在于简单,但其有一个缺点就是后续操作必须等待前面操作执行完毕才能往下执行。

异步操作的优势在于能快速返回,多个无先后依赖关系的操作可以同时进行,其缺点在于异常的处理比较麻烦(异步操作分为线程级别和进程级别的异步,无论是前者还是后者,都无法在当前进程或线程之外处理异常)。


同步举例


web开发时,web服务端开发常常要和关系型数据库打交道,数据库的事物可能由多个数据库操作组成,那么这些同一事务中的操作往往是自上而下的执行,这些操作即是同步操作,其特点在于线形执行,前面的操作会在后面操作之前完成,假设这些操作中有一处发生异常,可通过数据库的事务回滚来回退整个事务。


异步举例


前端开发常常涉及到和服务端之间数据间的交互,数据间的交互通过接口调用或服务端推送来实现,常用的ajax技术就支持异步回调机制,浏览器发出请求之后可立刻返回,避免浏览器的等待,待服务端处理完毕之后会通过回调函数来处理响应结果。


总结


同步是One By One, 异步是Together,同步操作耗时为多个操作的耗时和,异步操作则是多个操作中最长耗时操作的耗时。



发表于 2020-01-02 09:53:48
只看该作者沙发

稳哥粉丝来也,好文好文

发表于 2020-01-21 10:30:03
只看该作者板凳

关联阅读:分布式系统概念

发表于 2020-01-21 10:30:50
只看该作者地板

关联阅读:分布式数据分布


您需要登录后才可以回帖

登录注册
发表回复