Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 主线程和同一主机中函数的节点计时_Node.js_Event Loop - Fatal编程技术网

Node.js 主线程和同一主机中函数的节点计时

Node.js 主线程和同一主机中函数的节点计时,node.js,event-loop,Node.js,Event Loop,在节点进程中,我有如下代码: setInterval(function updateRealtimeDataFromJsh() { console.time("update"); <SOME synchronous JS execution> console.timeEnd("update"); }, 1000); setInterval(函数updateeraltimedatafromJSH(){ 控制台。时间(“更

在节点进程中,我有如下代码:

    setInterval(function updateRealtimeDataFromJsh() {
        console.time("update");
        <SOME synchronous JS execution>
        console.timeEnd("update");
    }, 1000);
setInterval(函数updateeraltimedatafromJSH(){
控制台。时间(“更新”);
控制台。时间结束(“更新”);
}, 1000);

“更新”所花费的时间可能会有很大的变化吗?也就是说,可能同一个js代码有时需要10毫秒,有时需要500毫秒,我的理解是,如果node能够执行此代码,这意味着主线程是空闲的,每次都需要几乎相同的时间,但这似乎不是真的,有人知道这件事吗

是的,有可能。这取决于其他占用资源的内容,“同步JS执行”是什么,…同步JS执行是一些合并两个json的代码。。所以,基本上,即使主线程是空闲的,CPU也可能被节点进程中的其他线程占用,这会导致延迟吗?其他线程将不会使用其他CPU内核?不一定是其他线程,但GC、其他进程、JIT优化和去优化…通常上述执行需要20-30毫秒,但如果我触发另一个定期执行js函数的操作(此函数在节点主线程中执行一些处理,并使用节点zlib压缩数据),上面的执行开始需要大约300毫秒,因此我想知道为什么它会变得如此糟糕,因为只有在主线程空闲时才会执行,这是因为节点zlib压缩正在另一个线程中工作,占用了cpu吗?