This is a fantastic post by Erik where he explains the nuance between IO-bound and CPU-bound operations in programming.
… libraries have dedicated APIs for I/O scheduling work, separate from other types of operations
…. but why is this the case? Why don’t we use a single thread pool for all background operations? The operating system will handle the scheduling of these threads the same
I love how this specific question is framed (a good interview question for advanced mobile developers):
#2014
Originally posted this article on the Wedding Party tech blog Mobile devices are getting pretty fast, but they aren’t infinitely fast yet. If you want your app to be able to do any serious work without affecting the user experience by locking up the interface, you’ll have to resort to running things in parallel. On Android, this is done with “threads”.
Grab yourself a cup of coffee and read this post line by line.