Встречается на собеседованиях • сегодня

Блокирует ли GIL процессы в Python

GIL (Global Interpreter Lock) блокирует не процессы, а потоки в рамках одного процесса. Это механизм, который предотвращает параллельное выполнение байт-кода Python в нескольких потоках одного процесса.

Пример:

python
import threading

def count():
n = 0
for _ in range(10_000_000):
n += 1
print(n)

Два потока выполняются последовательно из-за GIL

t1 = threading.Thread(target=count)
t2 = threading.Thread(target=count)
t1.start()
t2.start()
t1.join()
t2.join()

text

**Нюансы:**  
- GIL не влияет на мультипроцессинг (`multiprocessing`), так как каждый процесс имеет свой GIL.  
- Блокировка снимается при I/O операциях (чтение файлов, сетевые запросы).  
- C-расширения могут освобождать GIL для выполнения CPU-интенсивных задач.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы