我试图在tornado主循环中添加多个回调。但是当我运行这个代码时:
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。 当我像这样改变main时:
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)。我在第一个案子里做错了什么?
目前没有回答
相关问题 更多 >
编程相关推荐