34 lines
929 B
Python
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))
|