Когда мы используем асинхронные контекстные менеджеры и итераторы в Python, я не вижу в них никакой пользы. Потому что в диспетчере контекста при вызове aenter() и aexit() они становятся единственными задачами, доступными в цикле событий. Аналогично, при использовании асинхронных итераторов anext() будет единственной задачей в цикле событий.
В основном, когда у нас доступно более одной задачи. в цикле событий asyncio дает нам преимущество процессора. Когда одна задача блокируется из-за операций ввода-вывода или N/W, другая задача, если она готова, может удерживать ЦП.
Но в случае асинхронных контекстных менеджеров и итераторов, цикл событий всегда имеет тенденцию выполнять одну задачу.
Есть ли выгодный вариант их использования?
Подробнее здесь: https://stackoverflow.com/questions/783 ... -in-python
Использование менеджеров контекста Async и асинхронных итераторов в библиотеке Async в Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение