我在电子应用程序中使用了子进程。并且我仅在上一个子进程结束后才分叉子进程。而且,如果我分叉多个进程,也不会提高速度。
所以我可以在电子应用程序中使用集群模块同时分叉多个子进程。
let doneFunction = {}
let queue = createQueue(1);
this.state.files.forEach((file, i) => {
queue.defer(function(details, done) {
readSizeRecursive(details.path, e); // inside that i forked child
doneFunction = done;
}, file);
});
childFinished = () => {
doneFunction()
}
我之前曾问过Child process maximum limit,但我没有任何答案。
答案 0 :(得分:2)
如果我分叉多个进程,也不会提高速度。
要提高速度,您需要加快瓶颈(在您的情况下是磁盘IO)(目录大小计算等)。 CPU比磁盘IO快得多,因此多/单线程/进程无所谓。
如果我分叉了两个群集工具,并且派生了两个子进程工具,那么每个孩子在两个不同的群集中并行运行?
是的,但是不会像上面提到的那样加快最终结果的速度
答案 1 :(得分:1)
您可能会从本文中更好地了解集群模式 Cluster definition in depth
但是我个人建议将Nginx
用于此类操作。
Take a look in NgInx
我希望它会有所帮助。快乐编码:)