@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?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект