python - Tornado ioloop + 线程

标签 python http tornado web-frameworks

我一直在研究 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/

相关文章:

python - 启动 Tornado 网络

python - 在 Python 中流式传输标准输入/标准输出

python - 将键值对添加到嵌套字典

python - 在 VS Code 笔记本中动画/更新 matplotlib 图

http - 用于过滤目标源 IP 地址和协议(protocol)的 Wireshark 过滤器

java - Netty客户端同步请求响应

python - 使用 python next() 和 strip() 检索以下行

python - 无法将函数转换为张量或运算

javascript - jquery.ajax 到底什么时候运行失败回调?

python - Tornado 测试运行程序的覆盖支持