Dependencies and prerequisites
- Android 3.0 (API Level 11) or higher
 - Loading Data in the Background training class
 - Running in a Background Service training class
 
You should also read
Try it out
ThreadSample.zip
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 class 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.
Lessons
- Specifying the Code to Run on a Thread
 - 
        Learn how to write code to run on a separate 
Thread, by defining a class that implements theRunnableinterface. - Creating a Manager for Multiple Threads
 - 
        Learn how to create an object that manages a pool of 
Threadobjects and a queue ofRunnableobjects. This object is called aThreadPoolExecutor. - Running Code on a Thread Pool Thread
 - 
        Learn how to run a 
Runnableon a thread from the thread pool. - Communicating with the UI Thread
 - Learn how to communicate from a thread in the thread pool to the UI thread.