Scala Actors,Futures,Promises和Akka之间有什么区别和关系?

时间:2014-02-21 13:41:08

标签: scala

Scala Futures与Promises,Actors和Akka之间有什么区别。

它们似乎都处理并发问题,它们只是不同的做法,还是相互依赖?

由于

1 个答案:

答案 0 :(得分:3)

从更大的背景来看,它们是不同的。

  1. Akka是一个库,包含几种不同的Actors实现
  2. 演员是一种设计模式,或者有人会争论设计概念。
  3. 承诺和期货是设计模式。
  4. 由于Futures and Promises是设计模式,你可以拥有一个由Akka库支持的Future,或者如果不使用Akka,一个Actor实现。

    例如,标准库中有一个scala.actor.Future实现(不建议使用,请参阅here)。如果你看scala.concurrent.Future(见here),你会发现它是一个特征。你处理一个特征而不是一个具有完全具体实现的直接类的事实应该表明他们非常愿意让其他人实现其他版本,并得到任何支持。