在节点 JS 8 中打印 libuv 线程池大小



此链接纯粹指定libuv提供了一个线程池,可用于运行用户代码并在循环线程中获取通知。它的默认大小为 4,但可以通过将UV_THREADPOOL_SIZE环境变量设置为任意值在启动时进行更改。(绝对最大值为 128(。

所以,在package.json中,我设置scripts字段如下(注意:我使用的是Windows 7,Node JS 8.11.3,nodemon,Express 4.16(,

来自package.json的代码片段

.
.
.
"scripts": {
"start": "SET UV_THREADPOOL_SIZE = 120 && node index.js",
},
.
.
.

index.js代码

var express = require('express');
var app = express();
var server = app.listen(3000, function(){
console.log('LIBUV Threads: ', process.env.UV_THREADPOOL_SIZE); // this returns 'undefined'
});

如何确保已设置线程池大小?我想在这里打印出index.js如上。

set命令中不应有空格。

set UV_THREADPOOL_SIZE=120 && node index.js

此外,您还应该通过调用start脚本来启动 Node.js 程序:

npm start

否则,将不会设置环境变量,并且在代码中访问它时将继续获得undefined

如果你使用的是 Nodemon,你可以通过使用额外的参数运行命令来确保调用你的 npm 脚本:

nodemon --exec npm start

最新更新