Executor Simply put, an Executor just actions threads and instructions provided to it ExecutorService Extends from Executor and includes startup / shutdown threads and is able to wait and determine the status of any instructions a user may have added above the Executor. In the illustration above, we se a simple example that illustrates the main differences between the Executor and ExecutorService. Both Executor and ExecutorService are interfaces, however ExecutorService extends Executor. Executor runs execution methods, ExecutorService runs submission methods. Executor returns void type, ExecutorService returns future type. In summary and according to Oracle.com : "An ExecutorService that provides methods to manage termination and methods to that can produce a Future for tracking progresso one or more asynchronous task" You can read up more about this class by clicking the Oracle link above.