Три способа выполнить множество задач с 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
🎂10 Years of Google Chrome
#GoogleChrome turned 10 on Sunday, and according to its Twitter, we should be expecting a surprise today. Meanwhile, let's take a look at #Chrome's path to browser market domination:
2008 ⇢ 0.3%
2018 ⇢ 60%
Also, since 2012, #Google Chrome has become the world's most popular browser. Here's the list of its predecessors as the world's number one most popular browser since 1990:
1990 ⇢ WorldWideWeb
1993 ⇢ NCSA Mosaic
1995 ⇢ Netscape
1999 ⇢ Internet Explorer
2012 ⇢ Google Chrome
🚀@PerspectiveIX
💌 Join Pulse: Our Weekly Newsletter
❓ Is Chrome your default desktop browser?
Google Chrome
Google Chrome 是一款快速、安全且易于使用的网页浏览器,提供流畅的浏览体验和丰富的扩展功能。支持多平台同步,用户可以在多个设备上无缝访问书签、历史记录和设置。Chrome 还具备强大的隐私和安全保护措施,确保用户安全上网。
🔗:https://pan.quark.cn/s/80e6d21f7a1c
#GoogleChrome#网页浏览器#快速安全#多平台同步#扩展功能#隐私保护
🔔Twitter👥频道💬群组