如果我理解正确的话:
异步执行 - 一项任务不必等待另一项任务完成
并发执行 - 在一个公共时间段内(通常通过上下文切换)正在处理两项任务
但两者的对立面看起来都是一样的。
同步执行 - 一项任务必须等待另一项任务完成才能执行
顺序执行 - 在公共时间段内无法处理两项任务。它们必须按顺序执行。
似乎同步和顺序执行是一回事。我错过了什么?
答案 0 :(得分:0)
顺序和同步是不同的东西。让我们以下一个伪代码为例:
伪代码
{
做一个
做B
做C
}
顺序和同步都将按 A->B->C 的顺序执行任务。不同之处在于他们可以做到这一点。
同步可以做到的唯一方法是开始执行任务A,阻塞一切并等待任务完成。之后它继续执行任务 B。您可以将其想象为在一个线程上执行所有任务。
另一方面,通过顺序执行,我们可以在后台线程 1 上开始执行任务 A。完成后,我们可以开始在我们的主线程(假设线程 2)上执行任务 B。 我们有相同的最终结果,但正如您所看到的过程不同