所以,基本上,我正在计划在node.js应用程序上有2个列表,其中一个是从数据库中获取的,另一个是从服务器上复制文件名并将其存储在列表中。
问题是:它们每个都有〜750000个字符串,我需要在另一个内部搜索每个字符串。
我对节点还很陌生,所以我想知道,我的应用程序在比较列表时会锁定自己到其他用户吗?列表是单线程的吗?比较两个如此大的列表对我来说似乎是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。