Что такое backpressure

Python Middle Без компании
Что такое backpressure
Ответы
Backpressure — это механизм управления потоком данных, когда получатель не успевает обрабатывать поступающие данные и вынужден замедлять или останавливать отправителя. Это предотвращает перегрузку системы и потерю данных. Пример с `asyncio.Queue`: ``` 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()) ``` Здесь `maxsize=3` создает backpressure: когда очередь заполнена, `producer` будет ждать, пока `consumer` не освободит место.