Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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
Javascript process.env.UV\u线程池\u大小不工作?_Javascript_Node.js_Libuv - Fatal编程技术网

Javascript process.env.UV\u线程池\u大小不工作?

Javascript process.env.UV\u线程池\u大小不工作?,javascript,node.js,libuv,Javascript,Node.js,Libuv,我试图理解nodeJS中的线程池。 在运行代码时创建process.env.UV\u THREADPOOL\u SIZE=5 process.env.UV_THREADPOOL_SIZE=5; 常量https=require('https'); const crypto=require('crypto'); 常数fs=要求('fs'); const start=Date.now() 函数doRequest(){ https.request('https://google.com,res=>{

我试图理解nodeJS中的线程池。 在运行代码时创建
process.env.UV\u THREADPOOL\u SIZE=5

process.env.UV_THREADPOOL_SIZE=5;
常量https=require('https');
const crypto=require('crypto');
常数fs=要求('fs');
const start=Date.now()
函数doRequest(){
https.request('https://google.com,res=>{
res.on('data',()=>{});
res.on('结束',()=>{
console.log('Request:',Date.now()-start)
})
})
(完)
}
函数doHash(){
pbkdf2(“a”,“b”,100000,512,'sha512',()=>{
log(“Hash:,Date.now()-start”);
})
}
doRequest();
fs.readFile('multitask.js','utf8',()=>{
console.log('fs:',Date.now()-start)
});
doHash();
doHash();
doHash();

doHash()在linux上,您的代码运行良好:

UV_线程池大小=1

fs: 20
Request: 108
Hash: 817
Hash: 1621
Hash: 2399
Hash: 3175
UV\u线程池大小=5

fs: 11
Request: 120
Hash: 836
Hash: 857
Hash: 859
Hash: 871

如果您使用的是windows,而不是在javascript文件中进行设置,则必须在调用脚本之前进行设置

set UV_THREADPOOL_SIZE=1 & node app.js

对我来说,最简单的解决方案就是添加一个npm脚本条目,如下所示:

{
  ...  
  "main": "app.js",
  "scripts": {
     "start": "set UV_THREADPOOL_SIZE=2 & node app.js"
  },
  ...
}
然后,在cmd中:

npm run start

这里的问题来自udemy课程节点JS高级概念。 我试着动态设置线程。但在windows上,它不会工作。 在Windows上按照上述说明操作

const OS = require("os")
process.env.UV_THREADPOOL_SIZE = OS.cpus().length

您在哪个操作系统上运行脚本?windows?是的,我使用的是windows。唯一适合我的解决方案。嗨,windows中有没有办法将其设置为js文件中类似于linux的变量?或者为什么它与linux如此不同?