zoukankan      html  css  js  c++  java
  • 协程

    协程

    • 一个线程下单位
    • 协程是程序员自己编制出来的,是不被操作系统所承认的,不受操作系统的控制,需要我们调用模块去实现协程
    • 他是处理线程的io时可以使用协程,加快运行速度,因为GIL锁的存在,所以我们使用到线程去运行代码时,其实就是处理io密集型的代码,这个时候如果一个线程下面,有多个io,那么如果我们不去处理,他是会按照串行的方式去运行代码的,那样很耗费时间,我们协程就是把下面的io密集型的代码,改变成并发的模式去运行,节省时间,加快运行速度
    • 协程之后在io密集型下才有意义
    from gevent import monkey;monkey.patch_all()
    import gevent
    import time
    
    def foo():
        print(1)
        time.sleep(3)
        print(2)
    
    def foo1():
        print(3)
        time.sleep(3)
        print(4)
    start = time.time()
    g1 = gevent.spawn(foo)
    g2 = gevent.spawn(foo1)
    g1.join()
    g2.join()
    end = time.time()
    print(end-start)
    
    # 代码运行结果
        1
        3
        2
        4
        3.0039689540863037
    
  • 相关阅读:
    CF785E Anton and Permutation
    P4054 [JSOI2009]计数问题
    P4396 [AHOI2013]作业
    AD PCB中各层的含义
    AD21 使用手册 快捷键(二)
    AD 汉化和界面恢复
    AD21 使用手册 快捷键(一)
    TINA-TI 安装
    B站下载 视频
    restful-work基本组件
  • 原文地址:https://www.cnblogs.com/xiongchao0823/p/11552491.html
Copyright © 2011-2022 走看看