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

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

Похожие вопросы