Chapter 9. Control over Thread Execution Through the Executor Framework
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, allows you to:
- Set up pools of worker threads and queues to control the number of tasks that can wait to be executed on these threads
- Check the errors that caused threads to terminate abnormally
- Wait for threads to finish and retrieve results from them
- Execute batches of threads and retrieve their results in a fixed order
- Launch background threads at convenient times so that results are available to the user faster
Executor
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:
public
interface
Executor
{
void
execute
(
Runnable
command
);
}
Despite its simplicity, the Executor
is the foundation of a powerful execution environment, and is used more often than the basic Thread
interface because it provides a better separation between submitting a task and its actual ...
Get Efficient Android Threading now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.