Middle+
13
```python import asyncio import time async def work(): await asyncio.sleep(1) async def main(): start = time.perf_counter() await asyncio.gather(*(work() for _ in range(5))) print("Total time:", time.perf_counter() - start) asyncio.run(main()) ``` ```python import time def work(): time.sleep(1) start = time.perf_counter() for _ in range(5): work() print("Total time:", time.perf_counter() - start) ```
Companies where asked
Сбербанк
Answer from AI
sobes.tech AI
В первом примере с использованием asyncio пять асинхронных задач work() запускаются одновременно и выполняются параллельно, каждая с задержкой в 1 секунду. В итоге общий затраченный время будет примерно 1 секунда, так как все задачи спят одновременно.
Во втором примере функции work() вызываются последовательно, каждая вызывает time.sleep(1), блокируя поток на 1 секунду. Таким образом, общее время будет около 5 секунд.
Это демонстрирует преимущество асинхронного программирования для задач, которые могут выполняться параллельно без блокировки, например, ожидание ввода-вывода.
Пример вывода первого кода:
Total time: 1.01
Пример вывода второго кода:
Total time: 5.01