我一直在研究 tornado web 框架,但我仍然没有清楚地理解 ioloop 的功能,尤其是如何在多线程中使用它。 是否可以为多个服务器创建单独的 ioloop 实例??
最佳答案
绝大多数 Tornado 应用程序应该只有一个 IOLoop,在主线程中运行。您可以在同一个 IOLoop 上运行多个 HTTPServer(或其他服务器)。
可以创建多个 IOLoop 并为每个 IOLoop 分配自己的线程,但这很少有用,因为 GIL 确保一次只有一个线程在运行。如果您确实使用多个 IOLoop,则必须小心确保不同线程仅通过线程安全方法(即 IOLoop.add_callback)相互通信。
关于python - Tornado ioloop + 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30357663/