【发布时间】:2021-04-02 12:31:43
【问题描述】:
我已经多次尝试使用协程(启动和异步)。它们都并行运行,但为什么很多人说启动不是? 在这个例子中,我使用了 3 个协程,每个协程都有 1 秒的延迟。
这是异步的。完成需要 1 秒。
DefaultDispatcher-worker-3 is running
DefaultDispatcher-worker-3 is running
DefaultDispatcher-worker-3 is running
async1 finished
async2 finished
async3 finished
1109 ms
这是发射。完成也需要 1 秒。
DefaultDispatcher-worker-2 is running
DefaultDispatcher-worker-2 is running
DefaultDispatcher-worker-2 is running
launch1 finished
launch2 finished
launch3 finished
1102 ms
【问题讨论】:
-
launch和async本质上是一样的,但是后者返回结果,在异常处理方面存在一些差异。 -
@Pawel 谢谢,我会详细了解的。