1. 程式人生 > >Python協程的使用

Python協程的使用

turn 裝飾器 spa pytho fun con close pri produce

import time

#使用裝飾器測試協程的運行時間
def func(fun):
    def wapper(*args,**kwargs):
        start=time.time()
        fun(*args,**kwargs)
        end=time.time()
        print(end-start)
    return wapper


#生產者消費者模式
def consumer():
    r = ‘‘
    while True:
        n = yield r
        if not n:
            
return print([CONSUMER] Consuming %s... % n) r = 200 OK @func 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協程的使用