panda70m / test.py
Ligeng-Zhu's picture
Upload files with huggingface_hub
82c9012 verified
from random import random
import asyncio
# task coroutine
async def task(semaphore, number):
# acquire the semaphore
async with semaphore:
# generate a random value between 0 and 1
value = random() + 2
# block for a moment
await asyncio.sleep(value)
# report a message
print(f"Task {number} got {value}")
# main coroutine
async def main():
# create the shared semaphore
semaphore = asyncio.Semaphore(2)
# create and schedule tasks
tasks = [asyncio.create_task(task(semaphore, i)) for i in range(10)]
# wait for all tasks to complete
_ = await asyncio.wait(tasks)
# start the asyncio program
asyncio.run(main())