Further reading# Python documentation: concurrent.futures — Launching parallel tasks threading multiprocessing queue PEP 3148 PyMOTW. concurrent.futures — Manage Pools of Concurrent Tasks GIL# Can’t we get rid of the Global Interpreter Lock? Understanding the Python GIL Python threads and the GIL concurrent.futures# A quick introduction to the concurrent.futures module Python - paralellizing CPU-bound tasks with concurrent.futures concurrent.futures in Python 3 Useful questions and answers on stackoverflow# How many processes should I run in parallel? How many threads is too many?