我有一个scala中的代码,由于各种原因,几行代码无法同时被更多线程访问.
如何轻松使其线程安全?我知道我可以使用Actors模型,但我觉得它对于几行代码来说太过分了.
我会使用某种锁,但我无法在谷歌或StackOverflow上找到任何具体的例子.
ten*_*shi 15
我认为最简单的解决方案是synchronized用于关键部分(就像在Java中一样).这是Scala的语法:
someObj.synchronized {
// tread-safe part
}
Run Code Online (Sandbox Code Playgroud)
它易于使用,但它会阻塞并且很容易导致死锁,因此我建议您查看java.util.concurrent或Akka,可能是更复杂但更好/无阻塞的解决方案.
| 归档时间: |
|
| 查看次数: |
3555 次 |
| 最近记录: |