Controlling the level of concurrency
So far, we've carefully avoided being too specific about what exactly happens when we invoke the AsyncTask
execute method. We know that doInBackground()
will execute off the main thread, but what exactly does that mean?
The original goal of AsyncTask
was created to help developers avoid blocking the main thread. In its initial form at API level 3, AsyncTask
s were queued and executed serially (that is, one after the other) on a single background thread, guaranteeing that they would complete in the order they were started.
This changed in API level 4 to use a pool of up to 128 threads to execute multiple AsyncTask
s concurrently with each other—a level of concurrency of up to 128. At first glance, this seems like ...
Get Asynchronous Android Programming - Second Edition 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.