Встречается на собеседованиях • сегодня
Почему несколько потоков не могут выполнять задачи параллельно в Python
В Python существует GIL (Global Interpreter Lock) — глобальная блокировка интерпретатора, которая предотвращает одновременное выполнение байт-кода несколькими потоками. Это связано с тем, что управление памятью в CPython не является потокобезопасным.
Пример:
python
import threading
def count_up():
global x
for _ in range(1000000):
x += 1
x = 0
threads = [threading.Thread(target=count_up) for _ in range(2)]
for t in threads:
t.start()
for t in threads:
t.join()
print(x) # Результат может быть меньше 2000000 из-за GILВывод:
Потоки выполняются конкурентно, но не параллельно. Для истинного параллелизма лучше использовать multiprocessing или асинхронные подходы (asyncio).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы