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

Что такое Green thread в Python

Green threads — это потоки, которые эмулируются на уровне интерпретатора, а не ОС. В Python они реализованы в рамках greenlet или библиотек типа gevent.

Особенности:

  • Управляются самим интерпретатором, а не ОС
  • Легковесные (меньше накладных расходов)
  • Кооперативная многозадачность (переключение только при явном вызове yield)

Пример с gevent:

python
import gevent

def task(name):
    for i in range(3):
        print(f"{name} is running")
        gevent.sleep(1)  # Явное переключение

greenlet1 = gevent.spawn(task, "Greenlet 1")
greenlet2 = gevent.spawn(task, "Greenlet 2")
gevent.joinall([greenlet1, greenlet2])

Минусы:

  • Блокирующие вызовы (например, IO) могут заморозить все потоки
  • Требуют модификации кода (monkey.patch_all() в gevent)

Используются для высоконагруженных IO-приложений (веб-серверы, сетевые задачи).

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

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

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

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