2017-08-23 19 views
0

私は数百万のイベントを生成し、それらのイベントをサーバーに送信し、各イベントのFuturesを受け取るアプリケーションを持っています。アプリケーションのメモリ不足を防ぐため、これらのFuturesをArrayBlockingQueueに入れ、そのキューを別のスレッドで処理します。 私のアプリケーションは、それらのFuturesを処理できるよりも速くそれらのイベントを送信するため、アプリケーションはかなり遅くなります。複数の先物を処理する

これらの先物を扱う方法はどれですか

+0

それはおそらくスケールですか? –

答えて

0

アプリケーションのニーズを把握せずに、パフォーマンスのヒントを提示することは難しいです。

慎重に選択された最大スレッド番号を持つ固定スレッドプールで複数のスレッドを使用すると、処理速度が向上する可能性があります(無制限のスレッドエグゼキュータでもアプリケーションが減速します)。

アプリケーションの構造を再考する別の方法です。例えば。消費の間に先物は、後で行うためにリファクタリングできるプロセスがあります。

いくつかのコード例は、より具体的なアドバイスを提供するのに役立ちます。

関連する問題