Java’s Executor Framework opens up new dimensions of control over threads and the resources they use on the system. Sometimes you want to launch as many threads as the system can handle to resolve tasks quickly; other times you want to let the system manage the number of threads; and sometimes you want to cancel threads because they are no longer needed. The Executor Framework, along with related classes, allow such things as:
The fundamental component of the Executor Framework is the simple
Executor interface. Its main goal is to separate the creation of a task (such as a
Runnable) from its execution, thus enabling the sorts of application behaviors listed at the beginning of the chapter. The interface includes just one method:
Despite its simplicity, the
Executor is the foundation of a powerful execution environment, and is more often used than the basic
Thread interface because it provides a better separation between submitting a task ...