Я использую ExecutorService для задача подключения, как показано ниже:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<ApplicationConnection> future = (Future<ApplicationConnection>) executor.submit(new ConnectThread(crf, connoptions));
connection = future.get(300000, TimeUnit.SECONDS);
executor.shutdownNow();
Метод call()
вызывает метод .connect()
(собственный API). Этот метод подключения порождает различные пулы потоков и т. д. Меня беспокоит то, что если время ожидания в будущем истечет и убьет исполнителя, закончатся ли потоки, которые, возможно, уже были созданы путем вызова метода .connect()
в будущем? Я знаю, что уничтожение потока также уничтожит все дочерние потоки, но следует ли это той же логике?