0

Callable <String> を実装するクラス MyThread があります。このクラスには、blockingqueue などのパラメーターを受け取るコンストラクターがあります。メイン クラスでは、このクラス MyThread を新しいブロッキング キューとその他のパラメーターでインスタンス化します。また、2 つのマップを維持します。1 つは一意のパラメーターの 1 つをキーとして MyThread 参照を保持し、もう 1 つは同じ一意のキーを使用してブロック キュー参照を保持します。

プロセス中に、ハッシュマップからこのブロッキング キューを取得し、カスタム メッセージを追加して、対応する MyThread インスタンスを取得し、ThreadPoolTask​​Executor (Spring バージョン) に送信します。

私が理解している限り、各スレッドは、構築中に値を渡し、後で ThreadPoolTask​​Executor.submit(myThreadObj) を使用してスレッドを作成するため、値の独自のコピー (ブロッキング キューなど) を取得する必要があります。それが本当かどうか、またはこのシナリオで ThreadLocal を使用する必要があるかどうかを誰かが確認できるかどうか疑問に思っていました。これまでのテストでは問題は発生しませんでしたが、負荷テストはまだ行っていません。

前もって感謝します。

4

1 に答える 1

6

ThreadLocal を効果的に再発明しました。楽しみ!

于 2010-12-21T00:12:55.107 に答える