shutdown i awaitTermination, które pierwsze połączenie ma jakąś różnicę?

Jaka jest różnica pomiędzy

ExecutorService eService = Executors.newFixedThreadPool(2);
eService.execute(new TestThread6());
eService.execute(new TestThread6());
eService.execute(new TestThread6());
eService.awaitTermination(1, TimeUnit.NANOSECONDS);
eService.shutdown();

i

eService.shutdown();
eService.awaitTermination(1, TimeUnit.NANOSECONDS);

Naprawdę nie rozumiemshutdown(). Ta metoda nie czeka na zakończenie wcześniej przesłanych zadań. Czy to znaczyshutdown() może zakończyć zadania, które zostały złożone, ale nie zakończone? Próbowałem kilku przykładów, nie dowodzą tego, proszę dać mi przykład.

questionAnswers(5)

yourAnswerToTheQuestion