Controlling Shutdown and Termination of an Executor Service The ExecutorService interface provides the awaitTermination() method, which in conjunction with the shutdown methods, allows more refined control over pending tasks at shutdown. Further control in shutting down and terminating an executor service is implemented by the awaitAndShutdownNow() method defined at (9) in Example 23.1. This method