@The2ndDim · Post #1398 · 27.08.2020 г., 14:56
#Announce 即日起 #SilvaGunner 标签 正式更新为 #SiIvaGunner 。 之前的旧标签都已经完成了更新。不过由于缓存的原因,标签检索并没有更新为新的Tag。请点击本消息的两个Tag来进行完整检索。 看起来一样? 前面是小写字母L,后面是大写字母I。 以前确实有过一个小写字母L的名字,而现在的真正的用户名确实是大写字母I。这背后的故事可太多了...
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #400 · 8 дек.
Три способа выполнить множество задач с 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
Hashtags
Пребарај: #silvagunner
@The2ndDim · Post #1398 · 27.08.2020 г., 14:56
#Announce 即日起 #SilvaGunner 标签 正式更新为 #SiIvaGunner 。 之前的旧标签都已经完成了更新。不过由于缓存的原因,标签检索并没有更新为新的Tag。请点击本消息的两个Tag来进行完整检索。 看起来一样? 前面是小写字母L,后面是大写字母I。 以前确实有过一个小写字母L的名字,而现在的真正的用户名确实是大写字母I。这背后的故事可太多了...