2

私が読んだすべてのチュートリアルは次のように機能します。

class HelloWorldActor extends Actor {
  def receive = {
    case "Hello" => self.reply("World")
  }
}

val myActor = system.actorOf(Props[MyActor], name = "myactor")

AKKA が次のように Actor クラス内で act() 関数をサポートしているかどうか疑問に思っています。

class HelloWorldActor extends Actor {
  def act() = {

  }
}

そして、あなたは呼び出すことができます:

val myActor = new HelloWorldActor
myActor.start()

アクターがメッセージを受信しないため、これを実行したいと考えています。それだけで動作します。AKKA アクター内で act() 関数を使用できますか?

4

1 に答える 1

6

Akka では、システムを使用してアクターを作成した後、自動的に開始する必要があります。しかし、Java でよく知られている単純なスレッドのようにアクターを使用したいように思えます。慣用的な観点からは、これは正しい方法ではないと思います。もちろん、開始メッセージをアクターに追加し、作成後にアクターに送信して、ハンドラーで処理を行うことができます。しかし、どのメッセージにも反応したくない場合は、アクターの代わりにプレーン スレッドまたは Future を使用することを検討する必要がありますか?

于 2012-07-12T23:56:56.030 に答える