Android Programming: Simple Concurrency W/O AsyncTask or RxJava

Concurrency is widely regarded as one of the most difficult challenges among all fields of computation. I was first introduced to concurrent programming in high level languages, and the magic did not disappear until I studied it in C/C++.

If you are still wondering how it works under the hood then I suggest that as a learning goal, but we will not be going that low level today. Instead we will look at a practical way to write concurrent code which gives us more control than AsyncTask, but requires orders of magnitude less