コア、最大、タイムアウト、時間単位、および境界付きキューで構成されたThreadPoolExecutorで、呼び出しで指定されたタイムアウトの長さと単位を使用してinvokeAllおよびinvokeAnyを呼び出すと、タスクの実行時にエグゼキューターのタイムアウト設定がオーバーライドされますか? これは、invokeAll の場合、返されたフューチャの1 つでgetメソッドを使用するときに適用されます (get で追加のタイムアウトを指定できます)。invokeAny の場合、呼び出し自体に適用されます。
ExecutorService threadPool = new ThreadPoolExecutor(coreSize, maxSize, poolTO, tu, new ArrayBlockingQueue<Runnable>(queueSize));
...そして、この threadPool オブジェクトを含むクラスでは、submit、invokeAll、および invokeAny を公開します。後者の 2 つは、threadPool の構築に使用したものと同じものを使用することを選択しているため、タイムアウト設定を公開しません。 . 私の小さなシングルトン プロキシ ラッパー クラスでこれらを公開すると、上記のコンストラクターで定義されたタイムアウト設定がオーバーライドされるかどうかを質問します。