龙卷风中可以并发吗?

2023-11-26

我知道龙卷风是一个单线程和非阻塞服务器,因此请求是按顺序处理的(除非使用事件驱动方法进行 IO 操作)。

有没有办法在tornado中并行处理多个请求以进行正常(非IO)执行。我无法分叉多个进程,因为我需要跨请求的公共内存空间。

如果不可能,请向我推荐其他可以处理并行请求并且还支持 wsgi 的 python 服务器。


如果您确实要处理多个受计算限制的并发请求,并且您想在 Python 中执行此操作,那么您需要一个多进程服务器,而不是多线程服务器。 CPython 具有全局解释器锁 (GIL),可防止多个线程同时执行 Python 字节码。

大多数 Web 应用程序执行的计算很少,而是等待来自数据库、磁盘或其他服务器上的服务的 I/O。在丢弃 Tornado 之前,请确保您需要处理计算密集型请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

龙卷风中可以并发吗? 的相关文章

随机推荐

  • Applescript 从当前文件夹启动文件?

    如何打开与 AppleScript 代码位于同一文件夹中的文件 类似的事情吗 tell application QuickTime Player activate open file avi end tell 这不起作用 谢谢 tell a
  • qt - 小部件 - 定位

    我想将一些小部件放置在父小部件中的一些随机位置 例如一个按钮位于点 10 10 处 另一个按钮位于 15 40 处 等等 如何实现这一点 QGridLayout 将所有内容推向行列样式 但我想把小部件放在我想要的任何地方 有人可以帮助我吗
  • 中心无序列表导航栏 - Bootstrap 3

    所以 我试图将我的导航栏列表项居中 由于此任务没有实用函数 因此我设计了以下代码 将无序列表放置在行内的列中 但即使在我尝试使用旧的 text align center 居中后 列表仍然向左对齐 div class navbar navba
  • 这在 lme4 中意味着什么:包“Rcpp”未提供函数“dataptr”

    我正在尝试使用 lme4 执行 LMM 并且弹出此消息 初始化 Ptr 时出错 包 Rcpp 未提供函数 dataptr 我应该怎么办 过了一会儿 我明白了 1 重新安装最新版本的Rcpp是解决方案 2 如果您没有使用lme4 但与 dyn
  • flag 参数的含义是什么以及 droid 设备可能的最小和最大范围是多少

    我想知道什么是标志 或者可能的值是什么 旗 在 audiomanager setStreamVolume int 流类型 int 索引 int 标志 我知道我们可以使用获得最大流 audiomanger getMaxStream audio
  • Java字符串数组:方法有大小吗?

    我来自 php 背景 在 php 中 有一个array size 函数告诉您数组中使用了多少个元素 有没有类似的方法String 大批 谢谢 Yes length 类似于属性 而不是方法 String array new String 10
  • 我可以用具有良好变体类型的 TraversableLike.map 类似物“拉皮条我的库”吗?

    假设我想添加类似的功能map到斯卡拉List 类似的东西list mapmap f 它应用了函数f对每个元素list两次 一个更严重的例子可能是实现并行或分布式地图 但我不想被那个方向的细节分散注意力 我的第一个方法是 object Map
  • 如何在WKWebView中自动播放youtube视频?

    我编写了一个在 WKWebView 中播放 youtube 视频的代码 我想在加载屏幕时自动播放视频 并且内联视频不应在新屏幕中播放 下面是我的代码 IBOutlet weak var myPlayer WKWebView override
  • 在 Java 中实现单例模式的有效方法是什么? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 在 Java 中实现单例设计模式的有效方法是什么 使用枚举 public enum Foo INSTANCE 约书亚 布洛赫 Joshua Bloch 在他的著作中解释了这种方法
  • java中对象的交换[重复]

    这个问题在这里已经有答案了 我研究过 java 是按引用传递的 但是当我执行以下代码时 字符串在 main 方法中没有交换 为什么 static void swap String s1 String s2 String temp s1 s1
  • 如何从 Bash 脚本中的字符串中删除重复的单词?

    我有一个包含重复单词的字符串 例如 abc def abc def 如何删除重复项 我需要的字符串是 abc def 我们有这个测试文件 cat file abc def abc def 要删除重复的单词 sed r a s b alnum
  • 选择在 Python 中使用 Neo4j 的适当方法

    我目前正在使用 neo4j 的嵌入式 python 绑定 我目前没有任何问题 因为我的图非常小 稀疏且最多 100 个节点 我正在开发的算法涉及图上的大量遍历 更具体地说是图上以及不同子图上的 DFS 将来我打算在大型图上运行该算法 据说是
  • 确定 jQuery .ajax() 将重定向字符串解析为什么

    我知道重定向是自动遵循的 并且我几乎 无法控制该过程 这很好 但我仍然对我的请求最终的结果非常感兴趣 是否可以看到我的请求最终到达哪个网址 I do not想要依靠返回的 HTML 本身来告诉我我在哪里 示例代码 var originalU
  • Ghostscript Dll 的简单 VB.Net 包装器 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我喜欢鬼脚本 您可以使用它将 pdf 文件转换为图形文件 拆分和 或合并 pdf 文件 制作缩略图以及一大堆其他内容 而且 它是免费的开源软件 网站上有大量关于如何从命令行在各种平台上
  • 将宏从 PowerPoint 加载项添加到功能区

    通过右键单击功能区并选择 从以下位置选择命令 宏 可以从功能区中启用宏的 PowerPoint pptm 演示文稿中添加宏 我希望它随时可用 因此我将 pptm 文件保存为加载项 ppam 并加载了该加载项 但是 我发现无法从功能区中的加载
  • 使用 ImageIO.read(file) 读取图像;导致 java.lang.OutOfMemoryError: Java 堆空间

    我正在使用 ImageIO API 来编写 PNG 文件 此代码在循环中调用并导致 OutOfMemory 错误 是否可以修复以下代码以避免 OutOfMemory 错误 或者是增加 JVM 堆大小的唯一选择 File file new F
  • 出现错误时 cin 会做什么

    include
  • 解构mongodb查询结果返回的对象

    假设我们启动一个 mongodb 查询语句 如下所示 const user await db users findOne console log user 结果很好 id 5f60647c28b90939d0e5fb24 tenantId
  • Firebase 3x 方法不适用于真实设备,但适用于模拟器 Swift 3.0

    我们正在使用 Google Firebase 3 x 版本 但我们遇到了来自 Firebase 的奇怪问题 我们使用 Swift 3 0 为了获取用户详细信息 我们使用以下代码片段 func getUserDetails uid text
  • 龙卷风中可以并发吗?

    我知道龙卷风是一个单线程和非阻塞服务器 因此请求是按顺序处理的 除非使用事件驱动方法进行 IO 操作 有没有办法在tornado中并行处理多个请求以进行正常 非IO 执行 我无法分叉多个进程 因为我需要跨请求的公共内存空间 如果不可能 请向