题目描述:
通过前面章节的学习,相信大家对 Node.js child_process 创建子进程的原理有了深入理解。我们知道 Node.js 实例运行在单个线程中,为了充分利用多核 CPU 资源,有时需要启用一组 Node.js 进程去处理负载任务。Node.js 为我们提供了 cluster 内置库去完成这项工作,而 cluster 创建子进程的方式就是利用 child_process 的 fork 方法,这里请大家学习 cluster 的使用方法,并尝试分析 cluster.fork 方法的源码,这是一道扩展讨论题,需要同学们自学相关资料,最后说出你们的理解。
关键提炼:
1、Node.js 内置库 cluster:http://nodejs.cn/api/cluster.html
3、cluster.fork 源码实现关键是通过 createWorkerProcess 方法创建子进程,并通过 EventEmitter 完成父子进程通信
4、第二周中我们讨论过 Node.js 事件循环 process.nextTick 方法的应用,cluster.fork 方法中就有具体实践,源码如下:https://github.com/nodejs/node/blob/v14.15.4/lib/internal/cluster/master.js#L225
提示: 结合自己的实际工作经验,或找相关资料查找,可以把您的答案,写在讨论题下面,与老师和小伙伴们一起交流。