美文网首页
Python实现协程实例

Python实现协程实例

作者: 乔治大叔 | 来源:发表于2020-05-14 16:47 被阅读0次

    1. 目标:
    在线程下实现并发
    并发(多个任务看起来是同时执行就是并发):切换+保存状态

    2. 协程:
    协程是单线程实现并发
    协程是程序员自己定义出来的东西,操作系统里只有进程和线程的概念(操作系统调度的是线程)

    在单线程下实现多个任务间遇到IO就切换就可以降低单线程的IO时间,从而最大限度地提升单线程的效率

    串行执行

    import time
    
    def func1():
        for i in range(10000000):
            I+1
    
    def func2():
        for i in range(10000000):
            I+1
    
    start = time.time()
    func1()
    func2()
    stop = time.time()
    print(stop - start)
    

    基于yield并发执行

    import time
    def func1():
        while True:
            print('func1')
            10000000+1
            yield
    
    def func2():
        g=func1()
        for i in range(10000000):
            print('func2')
            time.sleep(100)
            I+1
            next(g)
    
    start=time.time()
    func2()
    stop=time.time()
    print(stop-start)</pre>
    

    相关文章

      网友评论

          本文标题:Python实现协程实例

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