0

+10 個のモジュールが利用可能で、各モジュールが特定の作業を行う n タイヤ システムに取り組んでいます。
各モジュールには、独自のスレッド プールとスレッド マネージャーがあります。
システム全体が JBoss AS で実行されており、一部のモジュールはネイティブ コードを使用しています (pthreadネイティブの人向け)
。モジュールの 1 つが特定の時間 (ピーク時間) に非常に遅く動作することが最近判明したことを除いて、すべてが完璧に見えます。モジュールには非常に多くの作業があります。関連するモジュールのスレッドプールが機能しているスレッド全体も確認しました。
ただし、モジュールが一生懸命働いている間、別のモジュールはちょっとアイドル状態であるか、それほどビジーではありません。
質問: スレッド プールからスレッド プールにスレッド
を借用することは可能ですか?ab苦労の末、借りた糸を取り戻す!? 私は で多くの作業をしましたがExecutorService、役に立ちませんでした。または、少なくともその方法を理解できませんでした。
助けてください、ありがとう。

4

1 に答える 1

2

スレッドの量は、ワークロードの分散とはほとんど関係ありません。

モジュールの 1 つがボトルネックであり、マシンが飽和している場合、このモジュールが特定の時間に最も多くのリソースを使用するようにする独自のメカニズムを実装する必要があります。

簡単な方法は、重要なモジュールで処理を待機しているデータの量を監視し、それが特定のしきい値を超えた場合に他のモジュールの作業を一時停止することです。

もう 1 つの方法は、すべてのデータに対して優先度キューを実装することです。この場合、データはそのタイプとキューで既に待機している時間に基づいて優先順位が付けられます。

于 2013-10-28T12:25:29.267 に答える