Проверяет понимание синхронного и асинхронного программирования в Python.
Синхронное программирование проще, но блокирует выполнение при ожидании. Асинхронное с asyncio ускоряет обработку множества задач, но сложнее в написании.
Синхронное и асинхронное программирование решают разные задачи.
Синхронное программирование:
Плюсы: Простота написания, легкая отладка.
Минусы: Блокировка на операциях ввода-вывода.
Пример:
import requests
data = requests.get("https://api.example.com").json()
print(data)Асинхронное программирование:
Плюсы: Эффективно для операций ввода-вывода, масштабируемость.
Минусы: Сложный код, требует потокобезопасности.
Пример:
import asyncio, aiohttp
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
return await resp.json()
asyncio.run(fetch("https://api.example.com"))Когда использовать:
Синхронное: для простых задач.
Асинхронное: для высоконагруженных I/O-задач.
Вывод:
Синхронное программирование проще, асинхронное эффективнее для ввода-вывода.