アプリケーションで6つのスレッドを継続的に実行しています。シナリオは次のとおりです。
1つのスレッドが継続的にメッセージを取得し、メッセージキューに挿入します。他の4つのスレッドは、キューからメッセージを継続的にフェッチして処理するワーカーと見なすことができます。もう1つの最後のスレッドは、分析情報を入力します。
問題:
現在、メッセージスレッドを取得するためのスリープ時間は100msです。ワーカースレッドは200msです。このアプリケーションを実行すると、メッセージフェッチスレッドが制御を取得してキューに挿入し、ヒープを増やします。ワーカースレッドは、メッセージを処理して割り当てを解除する機会を得ていません。最後に、その結果、メモリが不足します。
メッセージフェッチスレッドとワーカースレッドに機会均等が与えられるように、この種のシナリオを管理する方法。
前もって感謝します :)