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

Что ты знаешь о GIL в Python

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

Основные моменты:

  • GIL упрощает реализацию CPython и делает его потокобезопасным.
  • Многопоточность в Python не даёт реального ускорения на CPU-bound задачах.
  • I/O-bound задачи могут выиграть от потоков, так как GIL освобождается во время операций ввода-вывода.
  • Для параллельных вычислений лучше использовать multiprocessing или внешние библиотеки (NumPy, Cython).

Пример:

python
import threading

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

# Два потока выполняются последовательно из-за GIL
t1 = threading.Thread(target=count)
t2 = threading.Thread(target=count)
t1.start(); t2.start()
t1.join(); t2.join()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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