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

Что такое Global Interpreter Lock в Python

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

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

  • GIL упрощает реализацию CPython и делает его более стабильным
  • Потоки Python не могут работать параллельно из-за GIL
  • Для CPU-задач лучше использовать процессы (multiprocessing)
  • GIL не мешает в I/O-bound задачах (сетевые запросы, работа с файлами)
python
import threading

counter = 0

def increment():
    global counter
    for _ in range(100000):
        counter += 1

threads = [threading.Thread(target=increment) for _ in range(10)]
for t in threads:
    t.start()
for t in threads:
    t.join()

print(counter)  # Результат будет меньше 1000000 из-за GIL
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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