When you use new Thread
you’re really creating a new thread every time you execute that. AsyncTask
however, uses a static pool of max 128 threads and will reuse an old thread whenever it exists. So, running AsyncTask 10 times in serial will only create one thread that runs the task 10 times instead of 10 threads.
That’s one of the differences among many.