是否有意义使用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)
# ...
当然,我假设我计划只使用函数f
和g
作为greenlet。
这种方法是否有隐藏的陷阱或其他缺点?
不,没有陷阱。
@greenlet
def g(args):
# ...
等价于:
def g(args):
# ...
g = greenlet(g)