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

Как работает планировщик

Планировщик в Python (GIL) управляет выполнением потоков, но не процессов. Он работает так:

  1. GIL (Global Interpreter Lock) - глобальная блокировка, позволяющая выполняться только одному потоку Python за раз
  2. Переключение потоков происходит через:
    • I/O операции (сеть, файлы)
    • time.sleep()
    • после выполнения ~100 байт-код инструкций (sys.getswitchinterval())

Пример:

python
import threading

def worker():
    print("Поток начал работу")
    # Здесь может произойти переключение
    print("Поток завершил работу")

threads = []
for _ in range(2):
    t = threading.Thread(target=worker)
    threads.append(t)
    t.start()

for t in threads:
    t.join()

Для настоящего параллелизма нужно использовать multiprocessing, так как процессы имеют свои GIL.

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

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

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

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