I saw this article, enjoyed it, and then said to myself &quot;Now let me go read the inevitable well-meaning but misguided comments about the GIL.&quot;  And sure enough, the very top comment is a well-meaning but misguided comment about the GIL.<p>The author of this article is talking about CPU-intensive tasks that involve C-extensions.  Such extensions typically <i>release</i> the GIL during their execution, which means that you can effectively parallelize such workloads in a ThreadPool.  (He explicitly mentions this about Numpy&#x2F;Scipy, but most other CPU-intensive extension libraries behave the same way.)  Heavy users of Numpy use Thread-level parallelism very frequently.