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

时间:2010-08-20 23:04:53

标签: java multithreading scala programming-languages language-features

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

3 个答案:

答案 0 :(得分:14)

并发规则是

1如果可以,请避免使用

如果你能

2分享

如果可以<3>共享3个不可变对象

4要非常小心(和幸运)

对于规则2,Scala通过提供一个完美集成的消息传递库,以演员的形式开箱即用。

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

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

答案 1 :(得分:12)

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

答案 2 :(得分:6)

Java没有没有 Scala做的事情。那太傻了。 Scala运行在与Java相同的JVM上。

Scala 做的做的是使编写更容易,更容易推理并更容易调试多线程程序。

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

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