最新最详细的python中的asyncio的async和await的使⽤,代码实例asyncio
官⽅⽂档:
1:简单的协成体验
import asyncio
import time
async def a():
await和async使用方法# 这⾥的await是将主协成挂起,去执⾏其他异步程序或含有"__await__"的对象
await asyncio.sleep(2)
await b()
print("a协成结束")
async def b():
for i in range(10,20):
# await asyncio.sleep(1)
print(i)
asyncio.run(a())
以上代码执⾏流程
2:并发协成的使⽤
import asyncio
async def a(aa):
print(aa)
await asyncio.sleep(2)
print("hello")
async def b():
print("b_nihao")
await asyncio.sleep(3)
print("b_hello")
loop = _event_loop()
tasks =[a(66), b()]
loop.run_until_complete(asyncio.wait(tasks))
可以打印出来看看是如何跳转执⾏的,是⼀个并发的⾏为.
3:母⼦协成
import asyncio
from grpclib.client import Channel
# generated by protoc
from.helloworld_pb2 import HelloRequest, HelloReply
from.helloworld_grpc import GreeterStub
# 启动⼀个main()函数的协成,当有新请求过来,在这个main协成下⾯再启动⼀个协成,提⾼吞吐量async def main():
async with Channel('127.0.0.1',50051)as channel:
greeter = GreeterStub(channel)
reply =await greeter.SayHello(HelloRequest(name='Dr. Strange'))
ssage)
if __name__ =='__main__':
asyncio.run(main())
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论