CPython имеет глобальную блокировку интерпретатора. Это означает, что интерпретатор имеет большую блокировку, которая предотвращает одновременную оценку байт-кода Python из нескольких потоков.
Пакеты, реализованные в C и обеспечивающие доступ к операциям высокого уровня, часто могут освобождать GIL при запуске , но если ваш код обработки в основном состоит только из Python и привязан к процессору, вы не получите никакого ускорения от многопоточности: у вас будут потоки, сражающиеся друг с другом, но ваша обработка в итоге будет полностью последовательной из-за GIL.
В этом случае вам нужно многопроцессорная обработка для получения ускорений, GIL является для каждого интерпретатора, поэтому отдельные интерпретаторы в отдельных процессах не мешают друг другу. Стоимость связи / синхронизации еще выше.