gpt4 book ai didi

node.js - 当我使用node.js时,我应该使用for循环异步方式吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:49 25 4
gpt4 key购买 nike

我正在使用带有express的node.js进行测试。

理论上,如果我在没有任何回调的“for 循环”上运行一些非常繁重的计算,

它被阻止,其他请求应被忽略。

但就我而言,常规的“for 循环”

for(var i=0;i<300000;i++) {
console.log( i );
}

不产生任何请求 block ,只是产生高 CPU 负载。

它也接受其他请求。

但是为什么我应该使用其他一些方法来使这些非阻塞,例如

process.nextTick()

或者node.js是否处理基本循环函数(for、while)并默认使用process.nextTick()包装它们?

最佳答案

Node 在带有事件循环的单线程中运行,因此正如您所说,当您的 for 循环执行时,不会发生其他处理。底层操作系统 TCP 套接字很可能会接受传入连接,但如果 Node 正忙于执行循环逻辑,则请求本身直到之后才会被处理。

如果您绝对必须在 Node 中运行一些长时间运行的处理,那么您应该使用单独的工作进程来进行计算,并让主事件循环来进行请求处理。

关于node.js - 当我使用node.js时,我应该使用for循环异步方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8815384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com