scala如何使编写多线程程序比在java中更容易? scala能做些什么(java不能)来利用多个处理器?
答案 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。
这为您提供了线程安全的只读数据,简单的方法将数据传递给其他线程,以及轻松使用线程池。