Що таке GIL і як він впливає на багатопотоковість?
Global Interpreter Lock дозволяє в CPython виконувати байт-код лише одному потоку одночасно, тому потоки ніколи не виконують Python-код паралельно на різних ядрах. При цьому потоки корисні для I/O-задач, бо на час блокуючих викликів GIL відпускається. Для CPU-задач потрібен multiprocessing, C-розширення, що відпускає GIL, або інший рантайм.