gpt4 book ai didi

Kotlin 协程 : Do we need to synchronize shared state?

转载 作者:行者123 更新时间:2023-12-04 18:01:45 25 4
gpt4 key购买 nike

从官方指南和网络样本中,我没有看到任何提及 锁定 同步 ,或者在多个 launch 中修改共享变量有多安全或 async调用。

最佳答案

协程带来了可能导致同时执行代码的并发编程模型。正如您从基于线程的库中知道的那样,您必须关注文档中所述的同步:

Coroutines can be executed concurrently using a multi-threaded dispatcher like the Dispatchers.Default. It presents all the usual concurrency problems. The main problem being synchronization of access to shared mutable state. Some solutions to this problem in the land of coroutines are similar to the solutions in the multi-threaded world, but others are unique.



使用 Kotlin 协程 您可以使用熟悉的策略,例如使用线程安全的数据结构、将执行限制在单个线程或使用锁(例如互斥锁)。

除了常见的模式,Kotlin 协程鼓励我们使用“ 通过交流分享 ” 风格。具体来说,一个“actor”可以在协程之间共享。它们可以被协程使用,协程可以向它发送/从它接收消息。也看看 Channels .

关于Kotlin 协程 : Do we need to synchronize shared state?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45896252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com