0
点赞
收藏
分享

微信扫一扫

python之异步

异步

一般代码是从上而下执行的,比如有3个打印语句,正常执行是从第一个到最后一个按照顺序打印出来,也就是后面的打印语句会等待前面的打印语句执行完后在执行,这个是同步执行,同步意味着有序执行;

而异步就是,后面的打印语句不会等待前面的执行完后再执行,也就是说异步不会阻塞其他任务执行,异步意味着无序执行

异步与多线程多进程:


异步是轻量级的线程,可以叫做协程

多进程和多线程无法获取函数的返回值,但是异步可以获取函数的返回值,进程池和线程池可以说是有异步的效果,它们可以获取函数的返回值

主进程是异步才可以使用

异步更适合需要返回值的操作,比如文件读写使用

多线程和多进程更适合不需要返回值的操作

async与await关键字


Python3.4后才有的

async 定义异步

await 执行异步

用法:


# 定义异步函数

async def test(a):

   return a

   

# 执行异步

async def t2():

   res = await test(1)

1

2

3

4

5

6

7

asyncio模块:

调用异步模块执行

内置了对异步IO的支持,用于处理异步IO

提供了使用协程构建并发应用的工具

asyncio提供的框架以事件循环(event loop)为中心,程序开启一个无限的循环,程序会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数

asyncio调用async函数



用法:


async def main():

   result = await asyncio.gather(a(),b())

   print(result)

   

if __name__ == '__main__':

   asyncio.run(main())

————————————————


举报

相关推荐

0 条评论