Sorting seems to be slower with 2 threads instead of 1
This looks like a case of GIL. For actual multiprocessing you should use the multiprocessing module.


  multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the multiprocessing module allows the programmer to fully leverage multiple processors on a given machine. It runs on both Unix and Windows.