javascript - 比较列表时我的 Node.js 会锁定吗?

标签 javascript node.js list performance cpu

所以,基本上我在计划的 Node.js 应用程序上有 2 个列表,其中一个是从数据库获得的,另一个是从服务器上复制文件名并将其存储在列表中获得的。

问题是:它们都有大约 750000 个字符串,我需要在一个字符串中搜索另一个字符串。

我对 Node 还很陌生,所以我想知道,我的应用程序在比较列表时是否会将自身锁定到其他用户,因为它是单线程的?对我来说,比较两个这样的巨大列表似乎相当消耗 CPU 资源。

最佳答案

这取决于您如何比较列表以及您的应用程序是如何构建的,但通常是的。例如,此代码将阻止执行:

server.on("request", (req, res)=>{
    // This function will not be called while the comparasion is running.
    // Requests will have to wait until the call stack empties (until nothing
    // is running).
}
compareLists();

也许你应该看看worker threadscluster为了使您的 Node.js 应用程序成为多线程,或者您可以与 child process 并行执行另一个 Node.js 脚本。 。另请参阅this guide about the JavaScript event loop .

关于javascript - 比较列表时我的 Node.js 会锁定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675905/

相关文章:

javascript - 双向模型引用策略

javascript - 按下鼠标后,抓取 child 的(数字)位置

node.js - Node.js 中的非阻塞循环和池化?

javascript - 使用 async/await 仍然返回未定义

node.js - 尝试在nodejs中将textarea转换为十六进制

Python - 打开文件 - readline - 列表 - 转换为字符串

javascript - 来自不同集合的子文档 ID 数组的 Mongoose 模式

javascript - 使用jquery查找data*属性而不指定标签

python - 如何在 Python 中搜索没有循环的嵌套列表(列表列表)中的列表?

python - 打印列表时保持Python在换行后不留空格