代码之家  ›  专栏  ›  技术社区  ›  Gordon Gustafson

斯卡拉对Java的并发编程有什么优势?

  •  14
  • Gordon Gustafson  · 技术社区  · 14 年前

    Scala如何比Java更容易编写多线程程序?Scala能做什么(Java不能)方便利用多个处理器?

    3 回复  |  直到 14 年前
        1
  •  14
  •   Peter Tillemans    14 年前

    并发规则是

    1如果可以的话就避免它

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

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

    4非常小心(幸运的话)

    对于规则2,scala通过以参与者的形式提供一个很好地集成的消息传递库来提供帮助。

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

    对于规则4,scala灵活的语法允许创建内部DSL,从而使表达所需一致性更容易、更简单。也就是说,很少有惊喜的地方(如果做得好的话)

        2
  •  12
  •   Randall Schulz    14 年前

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

        3
  •  6
  •   Zan Lynx    14 年前

    没有什么 Scala确实没有Java。那太傻了。Scala运行在Java所做的同一JVM上。

    什么斯卡拉 它使多线程程序更容易编写、更容易推理和调试。

    scala对于并发性的好处在于它关注不可变对象、消息传递和参与者。

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