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

    python协程的两大优势

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

    1、优势分析

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

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

    2、实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    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学习网