异步执行和同步执行之间有什么区别? 异步
当执行以下序列时:a> b> c> d>,若是在执行过程当中遇到失败,例如: spa
a b c fail
而后咱们从头开始: code
a b c d
这是同步的 同步
可是,若是执行相同的顺序:a> b> c> d>,而且中间出现故障: 程序
a b c fail
...可是咱们没有从头开始,而是从故障点从新开始: 并行
c d
...这就是异步的。 co
您将“同步与并行vs系列”混为一谈。 同步意味着全部同时。 彼此相关的同步化意味着能够串联或以固定间隔进行。 在程序执行全部操做时,它会顺序运行。 获取字典...这就是为何咱们有不甜的茶。 您喝茶或加糖茶。 字典
同步操做在返回到调用者以前先完成其工做。 工作
异步操做返回到调用方后会执行(大部分或所有)工做。
简单来讲:
同步
您正在排队购买电影票。 在前面的每一个人都获得一票以前,您没法得到一票,排队在您后面的人也是如此。
异步
您和许多其余人一块儿在餐厅中。 您点菜。 其余人也能够点餐,他们没必要等待您的食物煮熟并为您服务就能够点菜。 在厨房,餐厅的工做人员正在不断作饭,上菜并接受订单。 人们将在煮熟后当即食用食物。
同步执行
个人老板很忙。 他叫我写代码。 我告诉他:很好。 我开始了,他像秃鹰同样看着我,站在个人身后,从个人肩膀上移开。 我就像“老兄,WTF:当我完成此操做时,为何不去作点什么?”
他说:“不,我在这里等你完成。” 这是同步的。
异步执行
老板告诉我去作,而不是在那儿等个人工做,而是去作其余事情。 当我完成工做后,我只是向老板报告,说:“我作完了!” 这是异步执行。
(请听取个人建议:切勿与身后的老板一块儿工做。)