我一直在研究龙卷风网页框架,但我仍然没有清楚地理解ioloop功能,特别是如何在多线程中使用它。 是否可以为多个服务器创建单独的ioloop实例?
答案 0 :(得分:3)
绝大多数Tornado应用程序应该只有一个IOLoop,在主线程中运行。您可以在同一个IOLoop上运行多个HTTPServers(或其他服务器)。
可以创建多个IOLoops并为每个IOLoops提供自己的线程,但这很少有用,因为GIL确保一次只运行一个线程。如果你确实使用了多个IOLoops,你必须小心确保不同的线程只能通过线程安全的方法相互通信(即IOLoop.add_callback)。