Встречается на собеседованиях • сегодня
Что такое 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
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы