@Synchronized或synchronized关键字能否在Kotlin协程中生效?
关于Kotlin协程中
synchronized与@Synchronized有效性的疑问 - 不少StackOverflow回答指出,若要保护属性或函数免受协程并发执行的影响,似乎需要使用Mutex。
- 但查看StateFlow的源码时,看到如下注释:
该属性是线程安全的,可在无外部同步的情况下从并发协程中安全更新。
- 进一步研究其实现后发现,它仅使用了一些传统的
synchronized代码块,并未使用Mutex。
这就带来一个疑问:@Synchronized或synchronized关键字能否在Kotlin协程中生效?多数论坛讨论都认为它们无法生效,但官方StateFlow的实现却与此结论相悖。
内容的提问来源于stack exchange,提问作者Yida Lin
相关产品推荐
相关产品推荐

