Executor Servicesで最大待機時間を設定する方法はありますか。ExecutorServiceのキュー内の最大待機時間
たとえば、真の実行可能時間がSingleThreadExecutor
に2つを渡すと、最初のものは永遠に動作し、2番目のものはただ待っています。
2番目のRunnableについてTimeOutExceptionが発生すると予想しています。
public static void main(String[] args) throws IOException {
ExecutorService executor = Executors.newSingleThreadExecutor();
for (int i = 0; i < 2; i++) {
int finalI = i;
executor.execute(new Runnable() {
@Override
public void run() {
while (true) {
try {
System.out.println("#"+ finalI + " Runnable !");
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
}
実行可能タスクが完了しないようですか?したがって、このスレッドは実行、印刷、スリープ、実行、印刷、スリープ広告の無限大となります。なぜ、このサービスによって別のスレッドが実行されるのでしょうか? –