Задать вопрос
@parkito

Почему ExecutorService-у не требуется shutdown в junit?

Добрый день.

Если использовать ExecutorService в main методе, то необходимо использовать shutdown для завершения программы
public static void main(String[] args) {
        ExecutorService executorService = Executors.newCachedThreadPool();
        executorService.submit(() -> Utils.sleepSeconds(1));

        System.out.println("Done");
        executorService.shutdown();
    }


Однако в Junit тесте этого не требуется. Тест завершается без shutdown.

@org.junit.jupiter.api.Test
    public void test() {
        ExecutorService executorService = Executors.newCachedThreadPool();
        executorService.submit(() -> Utils.sleepSeconds(1));

        System.out.println("Done");
    }


Я не совсем понимаю почему так происходит. Что делает Junit, чтобы избежать нужды в shutdown?
  • Вопрос задан
  • 56 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
02 февр. 2025, в 11:35
3000 руб./за проект
02 февр. 2025, в 11:29
1000 руб./за проект
02 февр. 2025, в 10:45
1000 руб./за проект