Built in Super Heroes. David Beazley in an entertaining keynote to the
“PyData Chicago 2016” conference. He has a number of very good and
entertaining (and very advanced) videos. You have to spend an entire
evening with him though.
Understanding the Python GIL: David Beazley
dissecting the Global Interpreter Lock, explaining why
multiprocessing is better. At around minute 45, in the
questions/answers, there is a mention that using NumPy operations in
multiple threads is truly parallel.