当前位置:   article > 正文

python asyncio 异步协程知识点集合_asyncio 查看协程号

asyncio 查看协程号

python asyncio 异步协程知识点集合

1. 协程

​ 协程不是计算机提供的,而是由程序员人为创造出来的,也称微线程,它是一种用户态、上下文切换的一种技术,让一个线程去在代码之间切换运行的过程。

2. 实现协程的技术

​ greenlet 早期模块

​ yield 关键字

​ asyncio 装饰器 (python 3.4 之后才可使用)

async、await 关键字 (python 3.5及之后才可使用)

3. asyncio 的使用

​ 早期 python 3.4 实现通过 @asyncio.coroutine 实现

在这里插入图片描述

异步协程的重点在于程序遇到io阻塞它会自动切换 , 程序在遇到asyncio.sleep(2) 时他会自动切换到其他协程任务上。

python 3.5 之后 使用 async & await 关键字实现

其实 他和3.4 asyncio 装饰器 实现 效果是一样的, 只是python 想让程序员的代码变得更加简洁引用了这两个关键字。

4. 异步编程

事件循环 --------> 死循环 去检测或执行某些代码

'任务列表' = [任务1 , 任务2 , 任务3........  ]

while True:
    '去任务列表中检查所有任务,将 可执行 和 已完成 的任务返回'
    for 就绪任务 in 可执行任务列表:
    	执行就绪任务
    for 已完成任务  in  已完成任务列表:
        在任务中移除已完成列表
    如果任务列表中任务都已完成 则终止循环    
        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
loop = asyncio.get_event_loop()   # 去生成一个事件循环
loop.run_until_complete(任务)     # 将任务放到任务列表
 
asyncio.run('协程对象')          # 在 python 3.7 之后 通过 asyncio.run(协程对象) 代替 上面两部
  • 1
  • 2
  • 3
  • 4
async def func():               #    在函数前面加上 async  我们称为协程函数											
func()          # 得到的就是一个协程对象

await 
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/80001
推荐阅读
相关标签
  

闽ICP备14008679号