我试图在主线程中获得输入,而不是在工作线程中使用它代码是
Multi_processing = async() => {
if (cluster. IsMaster) {
const name = await prompt(' input ');
console.log(`Master ${process.pid} is running`);
for (let i = 0; i <2; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} finished`);
});
}
else {
console.log(name)
console.log(`Worker ${process.pid} started`);
}
}
当我尝试从函数外部获取输入时它会获得与过程相同数量的输入我不想一次输入以节省时间和精力
通过使用Thomas Sablik Previous answer,您可以以这种方式获得输入
Multi_processing = (() => {
return async () => {
if (cluster.isMaster) {
let name = prompt("ask")
console.log(`Master ${process.pid} is running`);
for (let i = 0; i < 2; i++) {
cluster.fork({ name : name });
}
cluster.on("exit", (worker, code, signal) => {
console.log(`worker ${worker.process.pid} finished`);
});
} else {
console.log(process.env.name);
}
};
})();