There are a plethora of mechanisms and technologies surrounding concurrent programming -- Python has support for many of them. In this article we will explain, examine, and benchmark Python's threading support, and discuss the much maligned Global Interpreter Lock (GIL). This is a reprint of a featured article I wrote for Python Magazine that was published in the December 2007 issue. This article