Tornado ioloop +线程

时间:2015-05-20 18:28:30

标签: python http tornado web-frameworks

我一直在研究龙卷风网页框架,但我仍然没有清楚地理解ioloop功能,特别是如何在多线程中使用它。 是否可以为多个服务器创建单独的ioloop实例?

1 个答案:

答案 0 :(得分:3)

绝大多数Tornado应用程序应该只有一个IOLoop,在主线程中运行。您可以在同一个IOLoop上运行多个HTTPServers(或其他服务器)。

可以创建多个IOLoops并为每个IOLoops提供自己的线程,但这很少有用,因为GIL确保一次只运行一个线程。如果你确实使用了多个IOLoops,你必须小心确保不同的线程只能通过线程安全的方法相互通信(即IOLoop.add_callback)。