What is the role of `ExecutorService` in the Executor framework?
`ExecutorService` only manages thread creation and doesnâ€™t handle task submission or execution.
Thatâ€™s incorrect. `ExecutorService` manages both task execution and thread management, including submitting tasks for execution.
Can you describe the main differences between `ExecutorService` and `Executor`?