Три способа выполнить множество задач с 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
베센트, Anthropic의 새로운 AI 관련 논의를 위해 은행 CEO들을 긴급 소집 - BBG
- 美 재무장관 베센트와 연방준비제도 의장 파월은 Anthropic의 최신 인공지능 모델이 더 높은 수준의 사이버 위험 시대를 초래할 수 있다는 우려와 관련하여 월가 주요 은행 경영진들을 긴급 회의에 소집.
- 해당 회의는 Anthropic의 Mythos가 제기하는 잠재적 미래 위험에 대해 은행들이 인지하고, 자사 시스템을 방어하기 위한 대비책을 마련하고 있는지 확인하기 위한 목적이었다고, 관련 사안에 정통한 인사들이 밝혔음.
- 규제 당국은 새로운 유형의 사이버 공격 가능성을 금융 산업이 직면한 가장 큰 위험 중 하나로 보고 있으며, Anthropic의 Mythos는 주요 운영체제(OS)와 웹 브라우저에서 취약점을 식별하고 이를 악용할 수 있는 보다 강력한 시스템으로 평가되고 있음.
※ 위에 올린 Mythos의 영향력에 대한 경각심이 확대
#INDEX