• 技术文章 >Python技术 >Python基础教程

    python协程的两大优势

    小妮浅浅小妮浅浅2021-02-25 18:02:05原创5589

    1、优势分析

    (1)协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。

    (2)不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。

    2、实例

    def consumer():
        r = ''
        while True:
            n = yield r
            if not n:
                return
            print('[CONSUMER] Consuming %s...' % n)
            r = '200 OK'
     
    def produce(c):
        c.send(None)
        n = 0
        while n < 5:
            n = n + 1
            print('[PRODUCER] Producing %s...' % n)
            r = c.send(n)
            print('[PRODUCER] Consumer return: %s' % r)
        c.close()
     
    c = consumer()
    produce(c)

    以上就是python协程的两大优势,希望能对大家有所帮助。更多Python学习指路:python基础教程

    专题推荐:python协程
    上一篇:python异步IO如何同时处理请求 下一篇:python中使用asyncio实现异步IO

    相关文章推荐

    • python中conftest如何使用?• python常见循环结构有哪些• Python快捷代码片段的使用• python异常模块的整理• python异步IO如何同时处理请求

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网