python协程的两大优势

Python (228) 2023-05-02 05:06:44

1、优势分析

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

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

2、实例

defconsumer():
r=''
whileTrue:
n=yieldr
ifnotn:
return
print('[CONSUMER]Consuming%s...'%n)
r='200OK'

defproduce(c):
c.send(None)
n=0
whilen<5:
n=n+1
print('[PRODUCER]Producing%s...'%n)
r=c.send(n)
print('[PRODUCER]Consumerreturn:%s'%r)
c.close()

c=consumer()
produce(c)

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

THE END

发表回复