Перейти к основному содержимому
🔒 Режим превью. Первые 15 уроков Foundations — бесплатные; этот — Pro. Запусти 7-дневный trial чтобы открыть редактор, AI-подсказки и остальной курс. Нужна карта, отмена в Dashboard в любой момент.Начать 7-дневный trial →
← КурсыSenior Deep-DivesМодуль 1 · Внутренние механизмы параллелизма и асинхронностиconcurrent.futures против asyncio против потоковpredict9 / 161
+125 XP
Задание
📝 **Задание:** Предскажите четырехстрочный вердикт от сборщика — один вердикт на каждую рабочую нагрузку. 📋 Реализуйте функцию выше. Тесты запускаются автоматически. 💡 **Подсказка:** Если вы застряли, перечитайте теорию.
Предскажи вывод

Прочти код внимательно

def pick(workload):
    """workload = dict with keys: kind ('io' or 'cpu'),
                                  has_async_lib (bool),
                                  is_numpy_heavy (bool)."""
    if workload["kind"] == "io":
        if workload["has_async_lib"]:
            return "asyncio"
        return "threads"
    # CPU-bound
    if workload["is_numpy_heavy"]:
        return "stay-single"
    return "multiprocessing"

cases = [
    # Async HTTP client (aiohttp / httpx) — io + async lib available
    {"kind": "io",  "has_async_lib": True,  "is_numpy_heavy": False},
    # Legacy sync requests + 100 calls — io but no async lib
    {"kind": "io",  "has_async_lib": False, "is_numpy_heavy": False},
    # NumPy matrix multiply — cpu but C-extension releases GIL
    {"kind": "cpu", "has_async_lib": False, "is_numpy_heavy": True},
    # Pure-Python combinatorial search — cpu, all Python
    {"kind": "cpu", "has_async_lib": False, "is_numpy_heavy": False},
]

for c in cases:
    print(pick(c))

# What does this print? Type your prediction.

Что выведет программа? Напиши здесь:

💬 Обсуждение

Будьте первым — задайте вопрос или поделитесь подсказкой.
Войдите чтобы участвовать в обсуждении. Чтение бесплатно.
Загрузка обсуждения…