Scala对Java进行并发编程有什么优势?

Gor*_*son 14 java multithreading language-features programming-languages scala

scala如何使编写多线程程序比在java中更容易?scala能做些什么(java不能)来利用多个处理器?

Pet*_*ans 14

并发规则是

1如果可以,请避免使用它

如果可以,2分享任何东西

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

4要非常小心(和幸运)

对于规则2,Scala通过以actor的形式提供开箱即用的良好集成的消息传递帮助.

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

对于规则4,Scala灵活的语法允许创建内部DSL,使得更容易和更少的罗嗦来表达您需要的一切.即减少意外的地方(如果做得好)


Ran*_*ulz 12

如果将Akka作为并发(和分布式)计算的基础,人们可能认为唯一的区别是将Scala与Java区分开来的常用内容,因为Akka对其所有工具都有Java和Scala绑定.


Zan*_*ynx 6

什么斯卡拉做了Java不一定.那太傻了.Scala运行在与Java相同的JVM上.

什么斯卡拉确实要做的是使它更容易写,更容易推理,更容易调试多线程程序.

Scala用于并发的好处是它关注不可变对象,消息传递和它的Actors.

这为您提供了线程安全的只读数据,将数据传递给其他线程的简单方法,以及易于使用的线程池.

  • 我会为它添加闭包.这真的让事情变得更容易. (2认同)