Три способа выполнить множество задач с 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
🛠️ Съёмник колпачков клавиатуры Keycap Remover
Удобный инструмент для снятия клавиш без повреждений. Подходит для любых механических клавиатур — незаменим при чистке и обслуживании.
🔗Скачать:Printables
#️⃣ Категория:#Computers@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🦷 Кэп Night Fury (по мотивам Беззубика)
Уникальная клавиатурная клавиша, вдохновлённая любимым драконом из мультфильма "Как приручить дракона". Идеально подойдёт фанатам киносаги и ценителям стильных аксессуаров!
🔗Скачать:Printables
#️⃣ Категория:#Computers@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🖥️ Полный набор колпачков клавиш GEM профиля для печати на 3D-принтере
Оптимизировано для многослойной печати. Идеально подходит для кастомизации клавиатур, идеально повторяет геометрию оригинальных колпачков Cherry MX.
🔗Скачать:Printables
#️⃣ Категория:#Computers@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🖍 Организация кабелей под столом
Простое решение проблемы запутанных проводов — аккуратный органайзер для управления кабелями под рабочим столом. Стильный дизайн и удобная конструкция обеспечат порядок на рабочем месте.
🔗Скачать:Printables
#️⃣ Категория:#Computers@anzar3d
🖨3D модели | Мы в Max | Заказать печать
🔧 Зажимы для пайки
Зажимные устройства для удобной фиксации деталей во время паяльных работ — незаменимый инструмент любого мастера!
🔗Скачать:Printables
#️⃣ Категория:#Computers@anzar3d
🖨3D модели | Max
🔨 Кабельный зажим
Простое и удобное решение для фиксации кабелей и проводов. Легко печатается, подходит для разных проектов и задач!
🔗Скачать:Printables
#️⃣ Категория:#Computers@anzar3d
🖨3D модели | Max
The Turing Test is a way to see if a computer can talk like a human. If people can't tell the computer from a person, it passes the test. You can try it yourself [here]🤖🗣️💻
@googlefactss
#TuringTest#AI#Computers#TechFacts
With Spatial Intelligence, AI Will Understand the Real World | Fei-Fei Li | TED
@TED
In the beginning of the universe, all was darkness — until the first organisms developed sight, which ushered in an explosion of life, learning and progress. AI pioneer Fei-Fei Li says a similar moment is about to happen for computers and robots. She shows how machines are gaining "spatial intelligence" — the ability to process visual data, make predictions and act upon those predictions — and shares how this could enable AI to interact with humans in the real world.
#YouTube#liked#TEDTalk#TEDTalks#TED_Talk#TED_Talks#TED#technology#computers#innovation#robots#AI#machine_learning#tech#Fei_Fei_Li