Встречается на собеседованиях • сегодня
Что такое 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` не освободит место.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы