【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
异步执行和同步执行之间有什么区别?
#1楼
当执行如下序列时:a> b> c> d>,如果在执行过程中遇到失败,例如:
a
b
c
fail
然后我们从头开始:
a
b
c
d
这是同步的
但是,如果执行相同的顺序:a> b> c> d>,并且中间出现故障:
a
b
c
fail
...但是我们没有从头开始,而是从故障点重新开始:
c
d
...这就是异步的。
#2楼
您将“同步与并行vs系列”混为一谈。 同步意味着所有同时。 彼此相关的同步化意味着可以串联或以固定间隔进行。 在程序执行所有操作时,它会顺序运行。 获取字典...这就是为什么我们有不甜的茶。 您喝茶或加糖茶。
#3楼
同步操作在返回到调用者之前先完成其工作。
异步操作返回到调用方后会执行(大部分或全部)工作。
#4楼
简单来说:
同步
您正在排队购买电影票。 在前面的每个人都得到一票之前,您无法获得一票,排队在您后面的人也是如此。
异步
您和许多其他人一起在餐厅中。 您点菜。 其他人也可以点餐,他们不必等待您的食物煮熟并为您服务就可以点菜。 在厨房,餐厅的工作人员正在不断做饭,上菜并接受订单。 人们将在煮熟后立即食用食物。
#5楼
类推简单说明
同步执行
我的老板很忙。 他叫我写代码。 我告诉他:很好。 我开始了,他像秃鹰一样看着我,站在我的身后,从我的肩膀上移开。 我就像“老兄,WTF:当我完成此操作时,为什么不去做点什么?”
他说:“不,我在这里等你完成。” 这是同步的。
异步执行
老板告诉我去做,而不是在那儿等我的工作,而是去做其他事情。 当我完成工作后,我只是向老板报告,说:“我做完了!” 这是异步执行。
(请听取我的建议:切勿与身后的老板一起工作。)
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3141938