使用`greenlet`作为装饰

时间:2013-04-28 10:40:55

标签: python asynchronous decorator greenlets

使用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 个答案:

答案 0 :(得分:1)

不,没有陷阱。

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

完全等同于:

def g(args):
    # ...

g = greenlet(g)