所以,基本上我在计划的 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 threads或cluster为了使您的 Node.js 应用程序成为多线程,或者您可以与 child process 并行执行另一个 Node.js 脚本。 。另请参阅this guide about the JavaScript event loop .
关于javascript - 比较列表时我的 Node.js 会锁定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675905/