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

Как работает Event Pool

Event Pool (или пул событий) — это механизм для управления асинхронными событиями в Python, особенно в контексте asyncio. Он позволяет регистрировать, ожидать и обрабатывать события без блокировки основного потока.

Основные принципы:

  1. События добавляются в пул и могут быть обработаны позже.
  2. Корутины могут ожидать события, не блокируя выполнение других задач.
  3. При наступлении события ожидающие корутины пробуждаются.

Пример с asyncio:

python
import asyncio

async def waiter(event):
    print("Ожидаем событие...")
    await event.wait()
    print("Событие произошло!")

async def setter(event):
    await asyncio.sleep(2)
    print("Устанавливаем событие")
    event.set()

async def main():
    event = asyncio.Event()
    await asyncio.gather(waiter(event), setter(event))

asyncio.run(main())

Вывод:

text
Ожидаем событие...
Устанавливаем событие
Событие произошло!

Event Pool особенно полезен в асинхронных приложениях, где нужно координировать работу нескольких задач.

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

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

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

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