python协程的两大优势

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)

发表回复