Встречается на собеседованиях • сегодня
Для чего используется backpressure
Backpressure — это механизм управления потоком данных между производителем (producer) и потребителем (consumer), когда потребитель не успевает обрабатывать данные, генерируемые производителем. В Python он часто применяется в асинхронных и потоковых системах (например, с asyncio или генераторами).
Пример с генератором:
python
def producer():
for i in range(10):
yield i # Пауза до следующего запроса
def consumer(gen):
for item in gen: # Запрашивает данные по одному
print(item) # Обработка с контролируемой скоростью
gen = producer()
consumer(gen)
text
В асинхронных системах backpressure реализуется через очереди (`asyncio.Queue`) с ограничением размера:
```python
import asyncio
async def producer(queue):
for i in range(10):
await queue.put(i) # Блокируется, если очередь заполнена
async def consumer(queue):
while True:
item = await queue.get()
print(item)
queue.task_done()
queue = asyncio.Queue(maxsize=2)
asyncio.run(asyncio.gather(producer(queue), consumer(queue)))
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы