zoukankan      html  css  js  c++  java
  • Python Gevent协程自动切换IO

    • Gevent
      Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程。 Greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。
    # gevent实现协程遇到io就切换
    import gevent
    
    def func1():
        print('33[33;1m蛮子在搞艾希...33[0m')#1
        # 测试访问IO时间
        gevent.sleep(2)
        print("33[33;1m蛮子开大搞死了瑞文...33[0m")#6
    
    def func2():
        print('33[32;1m蛮子切换到了跟瑞文搞...33[0m')#2
        gevent.sleep(1)
        print("33[32;1m蛮子残血搞死了艾希...33[0m")#5
    
    
    def func3():
        print('33[31;1m蛮子又回去跟继续搞艾希...33[0m')#3
        gevent.sleep(0)
        print('33[31;1m蛮子搞完了艾希,回来继续跟瑞文搞...33[0m')#4
    
    
    # 启动两个协程,列表的形式
    gevent.joinall([
    
        # spawn生成协程
        gevent.spawn(func1),
        gevent.spawn(func2),
        gevent.spawn(func3),
    ])
  • 相关阅读:
    DbgPrint格式 输出
    string 类常用函数[转]
    pragma warning[转]
    连接符
    ubuntu ftp server
    关于dex

    Topology中各函数调用顺序
    C# 错误捕捉
    操作word,Excel,PPT
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/8194659.html
Copyright © 2011-2022 走看看