2013-04-28 71 views
0

會是有意義的使用greenlet.greenlet作爲裝飾,常規的函數轉換成greenlet如下:使用`greenlet`作爲裝飾

from greenlet import greenlet 

@greenlet 
def f(args): 
    # ... 
    z = g.switch(u) 
    # ... 

@greenlet 
def g(args): 
    # ... 

def main(args): 
    # ... 
    y = f.switch(x) 
    # ... 

當然,我認爲我打算使用功能fg只作爲greenlets。

這種方法是否存在隱藏陷阱或其他缺點?

回答

1

不,沒有陷阱。

@greenlet 
def g(args): 
    # ... 

完全等同於:

def g(args): 
    # ... 

g = greenlet(g)