【发布时间】:2013-11-29 19:47:03
【问题描述】:
在 Clojure 中,我有四个原语来管理并发场景
- Refs - 管理协调、同步对共享状态的更改
- Atoms - 管理不协调的、同步的对共享状态的更改
- 代理 - 管理对共享状态的异步更改
- Vars - 管理线程本地状态
我的问题是 - 在 Scala 中是否有成熟的等价物?
假设 - 我将假设:
- Actor 是解决代理所面临问题的不同方式 - 但它们绝不是替代品
- 我知道 Scala 中有代理库 - 我很想知道它们是否被认为是成熟的
【问题讨论】:
-
Scala 变量不提供线程安全。但是,大多数优秀的函数式 Scala 编码人员倾向于只在安全封装可变状态的上下文中使用 var,他们根本就在其中使用它们。
-
@flavian 不是那些演员库吗?如果是这样,请参阅 OP 的第一个假设。
标签: scala concurrency clojure