StreadPoolexecutorの基礎となるキューに安全な方法でアクセスする方法
質問
getqueue()メソッドは、ThreadPoolexecutorの基礎となるブロッキングキューへのアクセスを提供しますが、これは安全ではないようです。
この関数によって返されたキュー上のトラバーサルは、ThreadPoolexecutorによってキューに加えられた更新を逃す可能性があります。
「Method getqueue()を使用すると、監視とデバッグの目的で作業キューにアクセスできます。他の目的のためにこのメソッドを使用することは強く落胆します。」
ThreadPoolexecutorが使用しているワーククを通過したい場合はどうしますか?または、別のアプローチがありますか?
これはの継続です。プロデューサーの消費者問題の変種のためのデータ構造の選択
今、私は複数のプロデューサーの複数の消費者を試していますが、既存のThreadPoolを使用したいのですが、スレッドプールを自分で管理したくないので、スレッドプールエクセクターが検査する能力とともにタスクの実行を終了したときにコールバックが必要です。スレッド安全な方法では、「Inprogress Transactions」データ構造。
正しい解決策はありません
所属していません StackOverflow