haw*_*eye 4 concurrency scala clojure
在Clojure中,我有四个原语来管理并发场景
我的问题是 - Scala中是否有成熟的等价物?
假设 - 我将假设:
您为Clojure列出的大多数并发结构都基于软件事务内存.因此,我认为你基本上只是在询问Scala中的STM支持.根据Akka文档,Scala中STM的最佳选择是ScalaSTM,他们说它实际上将在未来的某个时间包含在Scala标准库中.
ScalaSTM支持代理和引用(我认为它实际上基于Clojure版本).我认为Atom的推论是Ref.single类型,它只是一个可以在atomic块之外使用的ref .
根据您的使用情况,可以替代varJava ThreadLocal或Scala DynamicVariable.ThreadLocal如果您想要的只是线程本地数据,请使用,但如果您确实需要动态绑定,那么我认为您需要DynamicVariable.