美文网首页
gevent-协程支持

gevent-协程支持

作者: KevinCool | 来源:发表于2016-08-10 17:48 被阅读230次

安装

真是费了牛劲了,一下午才搞定安装,记录如下

  1. 安装libevent brew install libevent
  2. 安装cython pip install cython
  3. 安装greenlet
    此时有可能出现error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/greenlet': Operation not permitted
    直接略过,进入第4步
  4. 安装gevent
  • git clone https://github.com/gevent/gevent/
  • sudo python setup.py build
  • sudo python setup.py install

用法

Python通过yield提供了对协程的支持,Python-协程,第三方的gevent为Python提供了比较完善的协程支持
通过greenlet实现协程,当一个greenlet遇到IO操作的时候,比如访问网络,就自动切换到其他的greenlet,等待IO操作完成,再在适当的时候切换回来继续执行,IO操作比较费时,程序处于等待状态,gevent可以自动切换协程,总保证greenlet在运行,而不是等待IO。
切换是在IO操作时候自动完成,所以gevent需要修改Python自带的标准库,这一过程再启动时通过monkey patch完成

  1. gevent.monkey – Make the standard library cooperative

  2. patch_socket(dns=True, aggressive=True)
    Replace the standard socket object with gevent’s cooperative sockets.
    If dns is true, also patch dns functions in socket.

  3. patch_ssl()
    Replace SSLSocket object and socket wrapping functions in ssl with cooperative versions.
    This is only useful if patch_socket() has been called.

相关文章

  • gevent-协程支持

    安装 真是费了牛劲了,一下午才搞定安装,记录如下 安装libevent brew install libeven...

  • 简易协程-3

    新增的功能 在《简易协程-2》的基础上增加协程同步等待、IO超时的支持。增加一个新类JoinAction支持协程同...

  • 破解 Kotlin 协程(5) - 协程取消篇

    关键词:Kotlin 协程 协程取消 任务停止 协程的任务的取消需要靠协程内部调用的协作支持,这就类似于我们线程中...

  • 一学就会的协程使用——基础篇(三)初遇取消

    1. 引言 协程支持取消,也就是说,启动一个协程后而且在协程结束前已经不希望协程再执行代码了,可以对协程进行取消。...

  • Kotlin 协程学习教程之通俗易懂篇

    引言 协程并非Kotlin独有的,协程的概念在很早很早之前就有了,目前也有很多语言支持协程,本文以什么是协程、An...

  • 6 - 协程机制

    协程 Go 从底层就开始支持协程机制,这让它使用协程变得非常容易 下面的代码,使用 SpendTime 作为一个记...

  • (五)协程 Coroutine

    一、协程的概念 协作程序,解决异步问题 应用层完成调度 常见的支持协程的语言如: lua,C# 二、协程要解决什么...

  • 什么是Coroutines(协程)

    一、什么是Coroutines(协程) 协程是很久之前就提出的一个概念,目前支持协程的语言包括 lua、C#、go...

  • JavaPoet 生成retrofit实体类和接口文件

    使用的是kotlin retrofit配合协程retrofit 2.6.0以后默认支持协程 需要加一个suspe...

  • Kotlin协程(1)协程介绍

      协程与线程类似,都可以处理并发任务。协程在很多语言中都支持,但 Java 中并没有协程,而 kotlin 中是...

网友评论

      本文标题:gevent-协程支持

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