初心者として、私は俳優がどのように機能するかを理解しようとしています。そして、ドキュメントから、アクターは同期モードで実行されるオブジェクトであり、アクターの実行にはブロック/同期メソッド呼び出し (db リクエストなど) を含めることができることを理解していると思います
しかし、私が理解していないのは、内部にいくつかのブロッキング呼び出し (クエリ実行のブロッキングなど) を持つアクターを作成すると、スレッド プール全体が台無しになるということです (CPU 使用率が低下するなどの意味で)。 )、 右 ?つまり、私の理解では、アクターがブロッキング呼び出しを行った場合、そのスレッドを他の誰かに切り替えることができるかどうかを JVM が理解する方法はありません。
同時実行の性質を考えると、アクタがブロッキング呼び出しを行ってはならないことは明らかではないでしょうか?
その場合、非ブロッキング/非同期呼び出しを実行する推奨される方法は何ですか? たとえば、何かをフェッチし、その要求が完了したときに別のアクターにメッセージを送信する Web サービス呼び出しとしましょう? アクター内で単純に次のようなものを使用する必要があります。
未来図 { 応答 => x ! response.body }
これはこれを処理する適切な方法ですか?
これを明確にしていただければ幸いです。