事件循环:可以理解成一个死循环,去检测并执行某些代码
import asyncio
# 去生成或者获取一个事件循环
loop = asyncio.get_event_loop()
# 将任务放到事件循环
loop.run_until_complete(协程对象)
 
协程函数:定义函数的时候使用 async def 函数名()定义函数
async def test():
...
协程对象:执行协程函数()得到的写成对象
async def test():
...
result = func()
#注意:创建协程对象,函数内部代码并不会执行
执行协程对象:将协程对象加入的事件循环任务列表执行
result = test()
loop = asyncio.get_event_loop()
loop.run_until_complete(result) #把协程对象当成任务添加到事件循环
asyncio.run()
asyncio.run(result)
# Python3.7之后可以使用asyncio.run()方法执行
# 实际上run()内部相当于替我们创建了循环并加到任务
await等待
await+可等待对象
可等待对象:协程对象、Future对象、Task对象,->IO等待
await就是等待对象的值得到结果之后再继续往下走
 #示例1
impoty asyncio async def func():
print('test_1')
response = await asyncio.sleep(2)
return response asyncio.run(func())
#示例2
async def others():
print('start')
await asyncio.sleep(2)
return 'others' async def func():
print('执行协程函数内部代码') # 遇到IO操作挂起当前协程(任务),等IO操作完成之后继续执行,当前协程挂起时,事件循环可以执行其他任务 response = await others()
print(response)
 
 
 
 
 
 

最新文章

  1. Eclipse 双击变量,其他相同变量有底色
  2. vs2013怎么打开vs2010的解决方案
  3. 在Mac OS X 10.8中配置Apache + PHP + MySQL
  4. Rails--content_for和yield
  5. ArcGIS Engine开发之旅01---产品组成、逻辑体系结构
  6. TClientDataSet中关于TField、TFieldDef动态创立字段的应用
  7. 【转】selenium简介及安装方法
  8. REST API 基于ACCESS TOKEN
  9. hdu_1072_Nightmare(BFS)
  10. [TJOI 2013]单词
  11. Python内置函数(39)——locals
  12. Go学习之初出茅庐
  13. iptalbes -F
  14. 【Nature 子刊】I型HLA基因中和癌症相关的体细胞突变--转载
  15. Memory leak patterns in JavaScript
  16. firefox因 HTTP 严格传输安全(HSTS)机制无法打开网页
  17. C++ new的nothrow关键字和new_handler用法
  18. CKEditor+SWFUpload实现功能较为强大的编辑器(一)---CKEditor配置
  19. C# 开发网页的打印版
  20. vuez init webStorm

热门文章

  1. 部署 Vite 静态网站到 Gitee Pages
  2. 这三大特性,让 G1 取代了 CMS!
  3. Windows平台真实时毫秒级4K H264/H265直播技术方案
  4. HDFS 伪分布式环境搭建
  5. Go语言学习的坑爹历程
  6. Spring Boot 整合Hibernate Validator
  7. Fluentd 简明教程
  8. Kubernetes 监控--Alertmanager
  9. Nginx配置中一个不起眼字符"/"的巨大作用
  10. Docker镜像仓库Harbor之Swagger REST API整合配置