Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#async
🌎 Wild African grey parrots are known to mimic not only human speech but also the calls of up to 30 other bird species in their habitat. This ability helps them integrate into mixed-species flocks and avoid predators by confusing potential threats. Parrots’ vocal learning is so advanced that some individuals can remember and use sounds for decades. ✨
#parrots⚡#intelligence⚡#communication
👉subscribe Interesting Planet
👉more Channels
🌎 African grey parrots rank among the best animal communicators. Scientific studies show they can understand hundreds of words, use them in context, and even grasp abstract concepts like “same” and “different.” One famous parrot, Alex, correctly identified shapes and colors and understood the concept of zero. ✨
#parrots⚡#cognition⚡#communication
👉subscribe Interesting Planet
👉more Channels
🌎 African grey parrots can solve multi-step logic puzzles and use words in meaningful context. In experiments, these parrots matched human toddlers in understanding basic concepts. The largest recorded vocabulary for one individual exceeded 1,000 words. ✨
#parrots⚡#animalbehavior⚡#cognition
👉subscribe Interesting Planet
👉more Channels
🌎 Parrots like the African grey can learn hundreds of words and use them to solve problems or request specific items. Studies show Alex, a famous African grey, identified colors, shapes, and quantities—demonstrating complex reasoning once thought exclusive to humans. ✨
#parrots⚡#cognition⚡#language
👉subscribe Interesting Planet