• 技术文章 >Python技术 >Python基础教程

    python greenlet如何交替运行

    小妮浅浅小妮浅浅2021-02-24 15:57:05原创2273

    1、greenlet说明

    greenlet是一个基于Greenlet实现的网络库,它使用greenlet来实现协同程序。其基本思想是,当greenlet遇到IO操作时,例如访问网络时,它会自动切换到其他greenlet,直到IO操作完成,然后在适当的时候切换回继续执行。因为IO操作非常耗时,而且常常使程序处于等待状态,所以使用gevent来自动切换协程,可以确保运行的是greenlet,而非等待IO操作。

    2、实例

    可以通过gevent.sleep()交出控制权:

    def test(n):
        for i in range(n):
            print(gevent.getcurrent(), i)
            gevent.sleep(1)

    当然在实际的代码里,我们不会用gevent.sleep()去切换协程,而是在执行到IO操作时gevent会自动完成,所以gevent需要将Python自带的一些标准库的运行方式由阻塞式调用变为协作式运行。

    以上就是python greenlet交替运行的方法,希望能对大家有所帮助,更多知识尽在python学习网。

    专题推荐:python greenlet
    上一篇:python用生成器实现协程 下一篇:python中Fearturetools三个基本概念

    相关文章推荐

    • python封装中的私有如何理解?• python继承是什么?• python os模块有几种用法?• python单继承和多继承如何定义?• python中dict有哪些删除的方式• python特征生成是什么?• python中二叉树有哪些类型• python特征生成中字符类型有哪些?• python用生成器实现协程

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网