Kotlin协程:我们需要同步共享状态吗?

从官方指南和Web示例中,我没有看到任何提及的锁定同步 ,或者在多次launchasync调用中修改共享变量有多安全。

不,Coroutines是一种并发编程技术,它带来了与我们在普通Thread实现中所了解的相同的问题,因此您必须关心同步。

使用Kotlin 协同程序,您可以使用熟悉的策略,如使用线程安全的数据结构执行限制在单个线程中或使用锁定 (例如Mutex)。

除了常见的模式,Kotlin协同程序鼓励我们使用“ 通过交流分享 ”的风格。 具体而言,可以在协程之间共享“参与者”。 它们可以被协程使用,协程可以发送/接收消息。 也看看频道 。