https://medium.com/@arif.rahman.rhm/multithreading-vs-multiprocessing-10-unique-analogies-b64cee573f64