Python/asyncio
< Python
Jump to navigation
Jump to search
import asyncio
async def job(n):
print('begin job #{}.'.format(n))
await asyncio.sleep(2)
return n * n
async def test_await():
# Sequentially
r = await job(1)
print(r)
r = await job(2)
print(r)
r = await job(3)
print(r)
async def test_gather():
# Run all then get all
r = await asyncio.gather(
job(1),
job(2),
job(3)
)
print(r)
async def test_create_task():
# Run first, get result later
a1 = asyncio.create_task(job(1))
a2 = asyncio.create_task(job(2))
a3 = asyncio.create_task(job(3))
r1 = await a1
print(r1)
r2 = await a2
print(r2)
r3 = await a3
print(r3)
async def main():
await test_await()
await test_gather()
await test_create_task()
asyncio.run(main())