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

Приведи пример GIL в других языках программирования

GIL (Global Interpreter Lock) — это механизм, характерный для CPython, но аналогичные блокировки существуют и в других языках:

  1. Ruby (MRI) — использует GIL для потокобезопасности, как и CPython. Потоки выполняются поочередно, даже на многоядерных CPU.
    ruby
    # Пример: потоки в Ruby (MRI) блокируются GIL
    threads = 5.times.map do |i|
      Thread.new { puts "Thread #{i}" }
    end
    threads.each(&:join)
  1. JavaScript (в браузерах и Node.js до Workers) — однопоточная модель выполнения (Event Loop), но без явного GIL.

  2. Lua (стандартная реализация) — также имеет GIL-подобный механизм.

Ключевое отличие: в Python GIL мешает параллельному выполнению CPU-задач, но не I/O-операциям. В Ruby ситуация схожа, а в JS асинхронность решает проблему иначе.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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