【发布时间】:2015-05-12 18:14:37
【问题描述】:
我是 python 和龙卷风的新手。我正在尝试一些使用协程的东西。
def doStuff(callback):
def task():
callback("One Second Later")
Timer(1,task).start()
@gen.coroutine
def routine1():
ans = yield gen.Task(doStuff)
raise gen.Return(ans)
if __name__ == "__main__":
print routine1()
我正在尝试获取 doStuff() 函数的结果,我希望它是“一秒钟后”。但它不起作用。任何帮助,将不胜感激。谢谢
【问题讨论】:
-
什么是“定时器”?我可以看看它的源代码吗?或者你能告诉我 Timer 是从哪里导入的吗?
-
定时器在给定时间(秒)后异步调用传递的函数。它存在于python的“线程”包中。
-
除非你真的知道自己在做什么,否则不要混合使用线程和 Tornado。改为
yield gen.sleep(1):tornado.readthedocs.org/en/latest/gen.html#tornado.gen.sleep
标签: python python-2.7 tornado