美文网首页工作生活
协程——greenlet、

协程——greenlet、

作者: 彝_e37e | 来源:发表于2019-07-04 19:45 被阅读0次

使用如下命令安装greenlet模块:
sudo pip3 install greenlet

greenlet已经实现了协程,但是这个还的人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块gevent

其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回来继续执行。

由于IO操作非常耗时,经常使程序处于等待状态,有了gevent为我们自动切换协程,就保证总有greenlet在运行,而不是等待IO

gevent( 内部采用协程实现 )

遇到延时就会切换,不延时就不会切换

使用:

    先import gevent引用

有耗时操作时需要:(将程序中用到的耗时操作的代码,换成为gevent中自己实现的模块)

 猴子补丁:monkey.patch_all()

join()方法是在等g1执行完,是检验延时操作来切换实现多任务

如果要执行的方法多就用gevent.joinall(),就是等待所有

相关文章

  • 并发编程-协程

    协程greenlet模块 (gevent实现原理)gevent模块 (注册协程,实现异步编程) 协程的应用eg:...

  • 协程

    gevent方法实现多任务(协程) 了解yield和grenlet yield方法创建协程 greenlet方法创建协程

  • 协程——greenlet、

    使用如下命令安装greenlet模块:sudo pip3 install greenlet greenlet已经实...

  • 协程-greenlet

    greenlet 为了更好的使用协程来完成多任务,python中的green了他模块对其封装,总而使得切换任务变得...

  • Python 高级 7

    迭代、迭代器、生成器、协程、yield、greenlet、gevent、进程线程协程对比、gevent多任务图片下...

  • 22、python协程

    协程 阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程、...

  • 协程与greenlet

    协程,又叫微线程或者纤程。协程一般运行在语言的runtime或者虚拟机当中。操作系统层面上讲,协程可以叫做用户级线...

  • greenlet入门

    什么是greenlet greenlet是python的一个C扩展,提供了可自行调度的‘微线程’,即协程。 gre...

  • 4-8

    greenlet 为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的...

  • greenlet

    greenlet 为了更好使用协程来完成多任务,python中的greenlet模块对其封装,从而使得切换任务变的...

网友评论

    本文标题:协程——greenlet、

    本文链接:https://www.haomeiwen.com/subject/djhdhctx.html