与Java相比,Scala在并发编程方面有哪些优势?

Scala如何使编写多线程程序比Java更容易?scala可以做些什么(Java不能)来促进利用多个处理器?


答案 1

并发规则是

1 如果可以的话,避免它

2 如果可以的话,什么都不分享

3 如果可以,共享不可变对象

4.要非常小心(和幸运)

对于规则2,Scala通过以actor的形式提供一个开箱即用的很好的消息传递库来提供帮助。

对于规则3,Scala有助于使所有内容在默认情况下不可变。

对于规则4,Scala的灵活语法允许创建内部DSL,使其更容易,更少冗长地表达你需要的东西。即减少惊喜的地方(如果做得好)


答案 2

如果将Akka作为并发(和分布式)计算的基础,人们可能会争辩说,唯一的区别是区分Scala和Java的通常的东西,因为Akka的所有设施都有Java和Scala绑定。


推荐