[解決済み】Akka Kill vs. Stop vs. Poison Pill?
質問
Akkaの初心者の質問 - Akka Essentialsを読んでいるのですが、AkkaのStop/Poison PillとKillの違いを誰か説明してくれませんか?この本は、ほんの少しの説明を提供します "Kill は同期であり、Poison Pill は非同期です " しかし、どのように?この間、呼び出し側のアクターはスレッドロックをするのでしょうか?子アクターは、kill中やpost-stop envoke中などに通知されるのでしょうか?一方のコンセプトと他方のコンセプトの使用例を教えてください。
ありがとうございます。
解決方法は?
両方
stop
と
PoisonPill
はアクターを終了させ、メッセージキューを停止させます。 これらは、アクターがメッセージの処理を停止し、すべての子プロセスに停止コールを送信し、それらが終了するのを待ち、その後、アクターの
postStop
フックを使用します。 それ以降のメッセージはすべて死んだ手紙のメールボックスに送られます。
違いは、このシーケンスが始まる前に、どのメッセージが処理されるかという点です。 の場合は
stop
の呼び出しでは、現在処理中のメッセージが最初に完了し、他のメッセージはすべて破棄されます。 を送信する場合
PoisonPill
の場合、これは単にキューにある別のメッセージなので、シーケンスは
PoisonPill
を受信します。 キューでそれより前にあるメッセージはすべて最初に処理されます。
これに対して
Kill
メッセージは、アクターに
ActorKilledException
これは、通常のスーパーバイザーのメカニズムで処理されます。 つまり、ここでの動作は、スーパーバイザー戦略で何を定義したかに依存します。デフォルトでは、アクターを停止します。しかし、メールボックスは持続するので、アクターが再起動したとき、失敗の原因となったものを除いて、古いメッセージをまだ持っています。
ドキュメントの「アクターの停止」、「アクターの強制終了」のセクションも参照してください。
http://doc.akka.io/docs/akka/snapshot/scala/actors.html
さらに監督戦略について
http://doc.akka.io/docs/akka/snapshot/scala/fault-tolerance.html
関連
-
[解決済み】scalacコンパイルで "object apache is not a member of package org "と表示される。
-
[解決済み] Scala underscore - ERROR: 展開された関数のパラメータ型が見つかりません。
-
[解決済み] NotUsedとDoneの理解
-
[解決済み] Scala 無名クラスでextendsを使用する方法
-
[解決済み] sparkでrddオブジェクトをdataframeに変換する方法
-
[解決済み】ScalaのCaseオブジェクトとEnumerationsの比較
-
[解決済み】Scalaでケースクラスのインスタンスをクローンして、1つのフィールドだけを変更するにはどうすればよいですか?
-
[解決済み】Scalaで`:_*`(コロン・アンダースコア・スター)は何をするのですか?
-
[解決済み】Scalaのyieldとは何ですか?
-
[解決済み] 縮小、折りたたみ、スキャン(左/右)?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Scala subString関数
-
[解決済み] scala 2.11.0 REPL を終了するには?
-
[解決済み] sparkでrddオブジェクトをdataframeに変換する方法
-
[解決済み] スカラズのイテレート。「より大きな」モナドのために `EnumeratorT` を `IterateeT` にマッチングさせる「リフティング」。
-
[解決済み] Traitの代わりに抽象クラスを使用する利点は何ですか?
-
[解決済み】Scala 2.8のコレクション・ライブラリは「歴史上最も長い遺書」のケースか?[クローズド] Scala
-
[解決済み】Scalaのvarとvalの定義の違いは何ですか?
-
[解決済み】タイプセーフのenum型をモデル化する方法は?
-
[解決済み】ScalaのHigher kinded typeとは何ですか?
-
[解決済み】Scalaのコンテキストとビューバウンドとは何ですか?