Sending operations to multiple threads

The speed and efficiency of a long-running, data-intensive operation often
improves when you split it into smaller operations running on multiple
threads. On a device that has a CPU with multiple processors (cores), the
system can run the threads in parallel, rather than making each sub-operation
wait for a chance to run. For example, decoding multiple image files in order
to display them on a thumbnail screen runs substantially faster when you do
each decode on a separate thread.

This guide shows you how to set up and use multiple threads in an Android app,
using a thread pool object. You'll also learn how to define code to run on a
thread and how to communicate between one of these threads and the UI thread.