Три способа выполнить множество задач с 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
📣Berkshire Hathaway Баффетта увеличивает долю в Occidental, — Reuters
• Berkshire Hathaway увеличила свою долю в акциях нефтяной компании США примерно до 15,2%. Согласно документам SEC, во вторник было куплено 5,9 млн акций Occidental на сумму около $336 млн.
• Акции Occidental выросли почти в 2 раза с начала года. Среди главных факторов крупные инвестиции таких компаний как Berkshire и рост цен на нефть, вызванный украинским кризисом и избеганием российского сырья.
• На ежегодном собрании акционеров Berkshire 30 апреля Баффетт сообщал, что покупал акции Occidental с 28 февраля по 16 марта 2022 года. Он также отметил, что "в последние пару лет сосредоточились на более ярких акциях, из-за чего рынки временами напоминали казино".
#BRK
@IF_Market_News
⚠️🇺🇸#акции#сша#warning
Berkshire Hathaway (#BRK) провела годовое собрание акционеров:
Грег Абель, новый CEO Berkshire заявил, что хоть ИИ и горячая на данный момент тема, Berkshire не будет "заниматься ИИ ради ИИ"
Уоррен Баффет, председатель сд компании, заявил, что рынки сейчас похожи на казино, а инвесторы еще никогда не были настолько по-лудомански настроены ...
Объем налички на балансе Berkshire опять обновил рекорд (уже $397.4 млрд) - компания продолжает воздерживаться от новых крупных покупок т.к. считает рынок дорогим...
Berkshire продолжает продавать акции...
Пузырь ИИ есть, но мы то знаем, что сдуть его очень тяжело…