1. 请描述什么是协程,举例说明
协程,又称为微线程、纤程,英文名:Coroutine
通过async/await语法进行声明,是编写异步应用的推荐方式
import asyncio
async def main():
print('hello')
await asyncio.sleep(1)
print('world')
asyncio.run(main())
2. 协程中有哪两个运行任务的函数,如何使用
1. run
import asyncio
import time
async def say_after(delay, what):
await asyncio.sleep(delay)
print(what)
async def myfun():
print(f'开始时间:{time.strftime("%X")}')
await say_after(1, 'hello')
await say_after(2, 'world')
print(f"执行完成:{time.strftime('%X')}")
asyncio.run(myfun())
开始时间:15:57:24
hello
world
执行完成:15:57:27
2. create_task
import asyncio
import time
async def say_after(delay, what):
await asyncio.sleep(delay)
print(what)
async def myfun1():
task1 = asyncio.create_task(
say_after(3, 'hello')
)
task2 = asyncio.create_task(
say_after(2, 'world')
)
print(f'开始时间:{time.strftime("%X")}')
await task1
await task2
print(f"执行完成:{time.strftime('%X')}")
asyncio.run(myfun1())
开始时间:16:03:19
world
hello
执行完成:16:03:22
总结:
协程,又称微线程。使用async修饰要运行的函数,在运行协程函数时,需要使用await。
浙公网安备 33010602011771号