• evnetlet hub


    hub 是 Eventlet’s event loop的主要部分,用于分配I/O 事件 和调度绿色线程。

    Eventlet 有多种hub实现,现支持一下几种:

    epoll

    poll

    selects

    pyevent

    pyevent是基于libevent,因此这四种pyevent最快。默认是禁止的。

    eventlet.hubs.use_hub(hub=None)

    配置使用哪种hub。确保要在I/O操作前调用,在程序调用能够清除先前的hub,而且已经发生IO操作将被忽略。

    from eventlet import hubs
    hubs.use_hub("pyevent")
    eventlet.hubs.use_hub() 仅仅用于当前进程,当使用多进程时须要在自己的在进程開始调用 eventlet.hubs.use_hub()确保不与父进程或者兄弟进程共享hub

    eventlet.hubs.get_hub()获取当前hub

    eventlet.hubs.get_default_hub()

    eventlet.hubs.trampoline(fd, read=None, write=None, timeout=None, timeout_exc=<class 'eventlet.timeout.Timeout'>)

    挂起当前协程直到socket对象或者文件描写叙述符被读写 ,能够设置超时。


  • 相关阅读:
    mysql远程访问设置
    LUA Userdata
    LUA 面向对象
    LUA table中函数的调用
    LUA 元表
    LUA table
    hibernate3 和hibernate4的一点小变动
    java 关键字final
    MySQL oracle 分页
    Java后端开发书架
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5074864.html
Copyright © 2020-2023  润新知