我想在龙卷风主循环中添加多个回调。但是,当我运行此代码:如何在龙卷风中创建多个add_callback?
def task(num):
print 'task %s' % num
if __name__ == '__main__':
for i in range(1,5):
tornado.ioloop.IOLoop.instance().add_callback(callback=lambda: task(num=i))
tornado.ioloop.IOLoop.instance().start()
我得到的输出5倍: '任务5',而不是任务1 ...任务5. 当我改变主要这样的:
tornado.ioloop.IOLoop.instance().add_callback(callback=lambda: task(1))
tornado.ioloop.IOLoop.instance().add_callback(callback=lambda: task(2))
tornado.ioloop.IOLoop.instance().add_callback(callback=lambda: task(3))
tornado.ioloop.IOLoop.instance().add_callback(callback=lambda: task(4))
一切工作正常(我得到输出task1-task5)。第一种情况我做错了什么?
拉姆达封闭是建立在'i'和它结束up为5 – thkang 2013-04-21 09:12:50