Sobes.tech
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