python-test/Module 4/Task 1/main.py

34 lines
929 B
Python

import asyncio
import time
async def say(name: str, delay: int):
await asyncio.sleep(delay)
print(name)
async def say_await_three_times(name: str, delay: int):
start_time = time.perf_counter()
await say(name, delay)
await say(name, delay)
await say(name, delay)
print(
f"Function say_await_three_times worked for {time.perf_counter() - start_time:.2f}s"
)
async def async_say_with_group(name: str, delay: int):
start_time = time.perf_counter()
async with asyncio.TaskGroup() as tg:
tg.create_task(say(name, delay))
tg.create_task(say(name, delay))
tg.create_task(say(name, delay))
print(
f"Function async_say_with_group worked for {time.perf_counter() - start_time:.2f}s"
)
if __name__ == "__main__":
asyncio.run(say("Alex", 3))
asyncio.run(say_await_three_times("Anna", 4))
asyncio.run(async_say_with_group("Roman", 4))