讨论下不可变与线程安全的关系

来源:11-6 Kotlin 协程的基本要素2

慕前端9039556

2022-03-15

我这一两年一直没弄明白,上下文的不可变列表到底跟线程安全有啥联系?

读肯定没事。

写的时候,如果发生并发问题那么参与并发的每个线程都会新创建一个新CoroutineContext.这样就算是安全吗?

能举个实例讲一下这里吗

写回答

1回答

bennyhuo

2022-03-15

因为写会创建新的

0
6
bennyhuo
回复
慕前端9039556
不变性保证线程安全,修改要创建新对象。如果是普通列表,修改时创建新对象就要复制,成本很高的,一般函数式语言里面的不变列表很多都是这种设计。
2022-03-15
共6条回复

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1760 学习 · 481 问题

查看课程