Does the multithreading sense in Python?

Articles on Python on the issue of multi-threading (example 1 and example 2), it is mentioned that due to limitations of the GIL (Global Interpreter Lock) the execution of a multithreaded application at best going to be the same amount of time as single-threaded, but in fact longer. In this case, does Hyper-threading at least some sense in Python?
July 8th 19 at 16:48
2 answers
July 8th 19 at 16:52
Strongly depends on the implemented tasks.

For task type user interface - one thread is enough to speed up the processing of a stream of independent requests with high latency - can easily write multi-threaded solutions and even with the GIL is a big win.
But for the mathematical computations of large data sets - then GIL would like to turn off, because the partitioning of the tasks on preprocess sometimes eats his patch resources all the benefits of using many core processors.
July 8th 19 at 16:50
Of course it has :)
GIL only prevents parallel use of a processor within a single process. You can use threads for long IO operations, it is possible the processes for operations on the CPU, they are beyond the control of GIL :)

Find more questions by tags Pythonmultithreading