У меня есть этот код:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Boolean> f = executor.submit(() -> {
if (true) {
while (true);
}
return false;
});
try {
System.out.println(f.get(10, TimeUnit.MILLISECONDS));
}
catch (InterruptedException | ExecutionException | TimeoutException e) {
throw e;
}
Во время работы программы я получаю исключение, как и должно, но цикл while продолжает выполняться, и программа не останавливается.
Я пробовал executor.shutdown()
, executor.shutdownNow()
, f.cancel(true)
и более.
У кого-нибудь есть идеи?Я пытаюсь решить эту проблему в течение трех дней.