【发布时间】:2018-06-16 13:21:04
【问题描述】:
如果我理解正确:
异步执行 - 一个任务不必等待另一个任务完成
并发执行 - 两个任务在一个共同的时间段内进行(通常通过上下文切换)
但两者的对立面似乎相同。
同步执行 - 一个任务必须等待另一个任务完成才能执行
顺序执行 - 两个任务不能在一个共同的时间段内完成。它们必须按顺序执行。
似乎同步和顺序执行是一回事。我错过了什么?
【问题讨论】:
-
也许这会帮助你理解:softwareengineering.stackexchange.com/a/144483/256197。我看到它的方式是同步代码是阻塞的,顺序代码不必是 - 在您异步运行
task1的情况下,await其结果,然后开始您的后续任务。这导致顺序但异步执行。请记住,每个任务通常都与一个线程相关。
标签: multithreading asynchronous concurrency parallel-processing context-switch