当前位置:   article > 正文

从头造轮子:python3 asyncio 之 run(2)_asynciorun

asynciorun

前言

书接上文,本文造第二个轮子,也是asyncio包里面非常常用的一个函数 run

一、知识准备

● 相对于 run_until_complete ,改动并不大,就是将入口函数重新封装了一下,基础知识主要还是 run_until_complete 的内容

● asyncio.run是Python3.7之后新增的入口函数

二、环境准备

|

组件

|

版本

|
|

python

|

3.7.7

|

三、run的实现

先来看下官方asyncio的使用方法:

|># more main.pyimport asyncioasync def hello():    
print('enter hello ...')    
return 'world'if __name__ == "__main__":    
rst = asyncio.run(hello())    
print(rst)    |># python3 main.pyenter hello ...return world ...
  • 1
  • 2
  • 3
  • 4
  • 5

来看下造的轮子的使用方式:

▶ more main.pyfrom wilsonasyncio import runasync def hello():    
print('enter hello ...')    
return 'return world ...'if __name__ == "__main__":    
ret = run(hello())    
print(ret)    
▶ python3 main.pyenter hello ...return world ...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

自己造的轮子也很好的运行了,下面我们来看下轮子的代码

四、代码解析

轮子代码

1)代码组成

|># tree.├── eventloops.py ├── futures.py├── main.py├── tasks.py├── wilsonasyncio.py
  • 1
|

文件

|

作用

|
|

eve

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号