5次并发进程代码呢?
时间: 2024-10-02 22:00:47 浏览: 5
在Node.js中创建五个并发进程通常涉及到使用`child_process`模块和回调函数、Promise链或者async/await。这里是一个简单的例子,每个进程都会异步执行并打印数字:
```javascript
const { fork } = require('child_process');
const numProcesses = 5;
let counter = 0; // 共享计数器,用于控制进程的数量
// 创建并发进程数组
const processes = Array.from({ length: numProcesses }, (_, i) => fork('./worker.js', [i])) // worker.js应该接收一个命令行参数
processes.forEach((process, index) => {
process.on('message', (msg) => {
if (msg === 'done') {
console.log(`Process ${index + 1} finished.`);
counter--;
if (counter === 0) {
console.log('All processes completed.');
}
}
});
// 当进程完成工作时,发送信号给主线程
process.on('exit', () => {
process.send('done'); // 这里假设worker.js会发送'done'消息表示任务完成
});
// 启动进程
process.send(counter.toString()); // 发送计数器值给子进程,它可以根据这个值执行相应的工作
});
// 等待所有进程完成
while (counter > 0) {
// 这里可以做其他事情,比如暂停主进程等待
process.nextTick(() => {});
}
```
在这个例子中,`worker.js`应该接收命令行参数,然后根据传入的计数值执行相应的任务。