Python协程-greenlet
2023-02-18 16:37:29 时间
greenlet
Greenlet是python的一个C扩展,提供可自行调度的协程
当一个greenlet遇到IO操作,如访问网络、文件操作时,就自动切换到其他greenlet,等IO操作完成,再在适当的时间切换回来继续执行
为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的更加简单
安装方式
使用如下命令安装greenlet模块:
pip3 install greenlet
使用
from greenlet import greenlet
import time
def ttest1():
while True:
print ("---A--")
gr2.switch() # 切换到另一个函数
time.sleep(0.5)
def ttest2():
while True:
print ("---B--")
gr1.switch() # 切换到另一个函数
time.sleep(0.5)
# 创建greenlet对象
gr1 = greenlet(ttest1)
gr2 = greenlet(ttest2)
## 起始执行的函数,切换到gr1中运行
gr1.switch()
运行结果:
---A--
---B--
---A--
---B--
---A--
---B--
......
相关文章
- 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效
- 跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波
- 跟我学Python图像处理丨带你掌握傅里叶变换原理及实现
- 跟我学Python图像处理丨关于图像金字塔的图像向下取样和向上取样
- Python中的super函数,你熟吗?
- Python图像处理丨带你认识图像量化处理及局部马赛克特效
- Python图像处理丨基于K-Means聚类的图像区域分割
- Python图像处理丨认识图像锐化和边缘提取的4个算子
- 想了解Python中的super 函数么
- 跟我学Python图像处理丨何为图像的灰度非线性变换
- Python代码用在这些地方,其实1行就够了!
- Python图像处理丨图像的灰度线性变换
- Python图像处理丨基于OpenCV和像素处理的图像灰度化处理
- 跟我学Python图像处理丨基于灰度三维图的图像顶帽运算和黑帽运算
- Python图像处理丨带你掌握图像几何变换
- Python图像处理丨如何调用OpenCV绘制直方图
- 学python,怎么能不学习scrapy呢!
- Python图像处理丨两种实现图像形态学转化运算
- Python图像处理丨三种实现图像形态学转化运算模式
- Python图像处理丨图像腐蚀与图像膨胀