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

Что такое backpressure

Backpressure — это механизм управления потоком данных, когда получатель не успевает обрабатывать поступающие данные и вынужден замедлять или останавливать отправителя. Это предотвращает перегрузку системы и потерю данных.

Пример с asyncio.Queue:

python
import asyncio

async def producer(queue):
for i in range(10):
await queue.put(i) # Блокируется, если очередь полна
print(f"Produced: {i}")

async def consumer(queue):
while True:
item = await queue.get()
await asyncio.sleep(1) # Имитация медленной обработки
print(f"Consumed: {item}")
queue.task_done()

async def main():
queue = asyncio.Queue(maxsize=3) # Ограничение размера очереди
await asyncio.gather(producer(queue), consumer(queue))

asyncio.run(main())

text

Здесь `maxsize=3` создает backpressure: когда очередь заполнена, `producer` будет ждать, пока `consumer` не освободит место.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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