小编Alv*_*olo的帖子

Akka,期货和关键部分

假设我们有一个Akka演员,它根据a维持一个内部状态var.

class FooActor extends Actor {
  private var state: Int = 0

  def receive = { ... }
}
Run Code Online (Sandbox Code Playgroud)

假设接收处理程序调用一个返回未来的操作,我们使用调度程序将其映射为上下文执行程序,最后我们设置一个onSuccess改变actor状态的回调.

import context.dispatcher
def receive = {
  case "Hello" => requestSomething() // asume Future[String]
    .map(_.size)
    .onSuccess { case i => state = i }
}
Run Code Online (Sandbox Code Playgroud)

onSuccess回调中改变actor的状态是否是线程安全的,即使使用actor调度程序作为执行上下文?

concurrency scala future akka

4
推荐指数
1
解决办法
370
查看次数

标签 统计

akka ×1

concurrency ×1

future ×1

scala ×1