gpt4 book ai didi

javascript - nodejs中的libuv线程如何利用多核cpu

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:01 25 4
gpt4 key购买 nike

我无法确定 node.js 中的 libuv 是使用多核 cpus 还是仅使用时间切片在单核上运行所有线程?由于node.js是单线程的,而libuv有自己的线程池,那么它是否使用了多核cpu的所有内核?

最佳答案

它确实通过线程池利用了多核。例如,在 Linux 上,底层 pthreads 将为多个线程使用多个内核。

如果您运行以下代码,您会注意到 4 个(默认线程池大小)核心将固定在 100%,因为文件系统 IO 与线程池一起运行。

var util = require('util');
var fs = require('fs');

for (var i = 0; i < 300000; i++) {
(function(id) {
fs.readdir('.', function() {
console.log(util.format('readdir %d finished.', id));
});
})(i);
}

关于javascript - nodejs中的libuv线程如何利用多核cpu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32679142/

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