俳優を眠らせる最良の方法は何ですか? データベースのさまざまな部分を維持したいエージェントとしてアクターをセットアップしました (外部ソースからのデータの取得を含む)。いくつかの理由 (データベースや通信に過負荷をかけないこと、一般的な負荷の問題など) から、各操作の間にアクターをスリープさせたいと考えています。10 個のアクター オブジェクトのようなものを見ています。
アクターはほぼ無限に実行されます。常に新しいデータが入ってくるか、データベースの他の部分に伝播されるのを待っているテーブルに座っているなどです。間に合います。
無限ループと各ループの最後でのスリープでこれを行うことができますが、http://www.scala-lang.org/node/242によると、アクターはすべてのスレッドがブロックされるたびに拡張されるスレッドプールを使用します. したがって、スレッドを不必要に浪費するため、各アクターの Thread.sleep は悪い考えだと思います。
おそらく、クロックでサブスクライバーにメッセージを送信する独自のループを持つ中央のアクターを使用できますか (非同期イベント クロック オブザーバーなど)。
誰かが同様のことをしたか、何か提案がありますか? 余分な(おそらく余分な)情報で申し訳ありません。
乾杯
ジョー