当然也可以直接使用Java的类库。但结果却不容乐观,因为尽管Java允许创建新的类,但这些类总感觉不像原生的语言支持那么方便。 前面的例子演示了如何在Scala中增加新的类型,使得它们用起来方便得像内建类型一样。同样的扩展理念也应用在了控制结构上。这种扩展可以由Scala的“基于actor”的并发编程API阐明。 随着近年来多核处理器的激增,为了获取可接受的性能,应用中必须运用更多的并行机制。这常常就意味着须重写代码以使计算分布到若干并发线程上。不幸的是,创建可依赖的多线程程序经实践证明非常具有挑战性。Iava的线程模型是围绕着共享内存和锁建立的,当系统在规模和复杂度都不断变大的时候,这种模型会越发变得难以理解。很难说程序里面没有资源竞争或潜藏的死锁--有些东西不是能经测试检验出的,或许只在投入生产后才会表现出来。目前可以认为比较安全的可选方案是消息传递架构,例如在Erlan只编程语言中应用的“actor”方案。 1ava带了一个丰富的、基于线程的并发库。scala也可以像使用其他Java API那样用它编程。不过,Scala还提供了一个实质上实现了Erlang的actor模型的附加库。<br> ……
展开