我是靠谱客的博主 忐忑白羊,最近开发中收集的这篇文章主要介绍Node.js的cluster模块用于使用多核CPU,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们来看看cluster内部的机制:

EventEmitter {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
Worker://有一个worker对象
{ [Function: Worker]
super_:
{ [Function: EventEmitter]
EventEmitter: [Circular],
usingDomains: false,
defaultMaxListeners: 10,
init: [Function],
listenerCount: [Function]
}
},
isWorker: false,//isWorker函数
isMaster: true,//isMaster函数
workers: {},//workers属性
settings: {},//settings对象
schedulingPolicy: 1,//schedulingPolicy属性
SCHED_NONE: 1,
SCHED_RR: 2,
setupMaster: [Function],//setupMaster方法
fork: [Function],//fork函数
disconnect: [Function]
//disconnect函数
}
我们再来看看cluster产生的worker内部是什么机制:

Worker {
domain: null,
_events: { message: [Function] },
_eventsCount: 1,
_maxListeners: undefined,
suicide: undefined,//worker.suicide用于判断进程是自己退出还是意外退出的,然后master据此判断是否需要重新产生一个worker,调用kill/disconnect就是undefined
state: 'none',
id: 1,//进程唯一一个ID
process://产生的worker有一个process属性,其值为一个ChildProcess实例
ChildProcess {
domain: null,
_events:
{ internalMessage: [Object],
error: [Function],
message: [Function],
exit: [Object],
disconnect: [Object] },
_eventsCount: 5,
_maxListeners: undefined,
_closesNeeded: 2,
_closesGot: 0,
connected: true,
signalCode: null,
exitCode: null,
killed: false,
spawnfile: 'C:\Program Files\nodejs\node.exe',
_handle: Process { owner: [Circular], onexit: [Function], pid: 3520 },
spawnargs:
[ 'C:\Program Files\nodejs\node.exe',
'C:\Users\Administrator\Desktop\N-blog\fiboo\cal' ],
pid: 3520,
stdin: null,
stdout: null,
stderr: null,
stdio: [ null, null, null, null ],
_channel:
Pipe {
_externalStream: {},
fd: -1,
writeQueueSize: 0,
buffering: false,
onread: [Function],
sockets: [Object] },
_handleQueue: null,
send: [Function],
_send: [Function],
disconnect: [Function],
_disconnect: [Function]
} }

最后

以上就是忐忑白羊为你收集整理的Node.js的cluster模块用于使用多核CPU的全部内容,希望文章能够帮你解决Node.js的cluster模块用于使用多核CPU所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部