Потоки Python хороши для параллельного программирования ввода-вывода . Потоки выгружаются из ЦП, как только они блокируют ожидание ввода из файла, сети и т. Д. Это позволяет другим потокам Python использовать ЦП, пока другие ждут. Это позволит вам написать многопоточный веб-сервер или веб-сканер, например.
Однако потоки Python сериализуются GIL при входе в ядро интерпретатора. Это означает, что если два потока занимаются сокращением числа, в любой момент может работать только один поток. Это также означает, что вы не можете использовать преимущества многоядерных или многопроцессорных архитектур.
Существуют такие решения, как одновременный запуск нескольких интерпретаторов Python с использованием библиотеки потоков на основе Си. Это не для слабонервных, и польза может не стоить хлопот. Будем надеяться на полное решение Python в следующем выпуске.