Выбор ответа Junior GIL, потоки и процессы спрашивают часто обновлено

Что такое GIL

Вопрос

Что такое GIL в CPython?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Блокировка: байткод в процессе выполняет один поток за раз. GIL позволяет держать много потоков, но выполнять Python-байткод в каждый момент может лишь один из них.

Варианты ответа

  1. Блокировка, которая запрещает создавать больше одного потока
  2. Механизм, делающий любой Python-код потокобезопасным
  3. Блокировка: байткод в процессе выполняет один поток за разправильный ответ
  4. Блокировка базы данных при доступе из нескольких процессов

Разбор

GIL позволяет держать много потоков, но выполнять Python-байткод в каждый момент может лишь один из них. Потоки создавать можно сколько угодно, и пока один ждёт I/O, другой работает. Потокобезопасности пользовательского кода GIL не даёт: переключение возможно между любыми байткод-инструкциями. К базам данных он не относится, это внутренность интерпретатора.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.