我怎么知道我已经达到了 Node 中定义的线程限制?
How do I know I've hit the threads limit defined in Node?
我已将线程池的大小限制为 25。
process.env.UV_THREADPOOL_SIZE = 25;
如何知道所有线程在运行时耗尽?
有什么方法可以发现所有的define线程都用完了
有新要求?
我正在使用 Node.js (NAN) 的本机抽象来调用 C++ 函数。对于每个对 C++ 的请求,都会创建 Nan::AsyncQueueWorker。这里我想看看线程限制是否用完,然后加一个安全系数。
您是在寻找 nan 还是 js 中的实现?
In Nan impl:
您必须手动完成。维护一个映射,其中键为 int,值为 workAsyn。在每次调用时推送并在 workAsyn 完成时删除。为每个请求执行此操作。
将地图的大小与您定义的线程限制进行比较。
看起来这个 cluster
模块可能可以帮助...
var cluster = require('../')
,http = require('http');
var server = http.createServer(function(req, res){
res.writeHead(200);
res.end('Hello World');
});
var workerCount = 0;
cluster(server)
.listen(3000)
.on('worker',()=> {
workerCount++;
console.log('workerCount',workerCount)
})
.on('worker killed',()=> {
workerCount--;
console.log('workerCount',workerCount)
})
似乎还可以使用 REPL "telnet" 插件直接从 master
访问工人数...
我已将线程池的大小限制为 25。
process.env.UV_THREADPOOL_SIZE = 25;
如何知道所有线程在运行时耗尽?
有什么方法可以发现所有的define线程都用完了 有新要求?
我正在使用 Node.js (NAN) 的本机抽象来调用 C++ 函数。对于每个对 C++ 的请求,都会创建 Nan::AsyncQueueWorker。这里我想看看线程限制是否用完,然后加一个安全系数。
您是在寻找 nan 还是 js 中的实现?
In Nan impl:
您必须手动完成。维护一个映射,其中键为 int,值为 workAsyn。在每次调用时推送并在 workAsyn 完成时删除。为每个请求执行此操作。
将地图的大小与您定义的线程限制进行比较。
看起来这个 cluster
模块可能可以帮助...
var cluster = require('../')
,http = require('http');
var server = http.createServer(function(req, res){
res.writeHead(200);
res.end('Hello World');
});
var workerCount = 0;
cluster(server)
.listen(3000)
.on('worker',()=> {
workerCount++;
console.log('workerCount',workerCount)
})
.on('worker killed',()=> {
workerCount--;
console.log('workerCount',workerCount)
})
似乎还可以使用 REPL "telnet" 插件直接从 master
访问工人数...