刷到一个挺有意思的话题,结合自己之前的经验,整理了一下核心要点。
主/从进程池架构
一、原理
1 个主进程(Master)+ 预先创建 N 个子进程(Worker)
主进程只管分配任务,子进程只管处理任务,
通过管道通信,实现高并发、稳定、不重复创建销毁进程。
二、三大核心角色
1. Master(主进程)
- 唯一
- 不处理业务
- 只做 4 件事:
- 接收任务
- 分发任务(发给空闲子进程)
- 管理子进程(监控、重启、回收)
2. Worker(子进程 → 进程池)
- 预先创建好 N 个
- 一直活着,不退出
- 阻塞等待任务
- 收到任务 → 处理 → 继续等待
3. 管道(通信通道)
- 每个子进程一条管道
- Master 写 → 发任务
- Worker 读 → 收任务
- 阻塞等待,天然实现同步控制
三、代码
```
include
include
include
include
include
include
include
include
include
define POLL_SIZE 4
// 任务列表
void SyncDisk() {
std::cout
暂时整理到这里。以上都是个人理解,可能有疏漏,欢迎指正。
评论 (0)
暂无评论