经过查找资料,先说下我对进程池的理解:
进程池包括两个进程:管理进程和工作进程。管理进程的主要任务是创建工作进程,监听事件请求,有事件到达时,然后查询工作进程看是否有空闲的工作进程,如果有空闲的工作进程,则将请求的事件与工作进程建立连接,工作进程处理完工作后,管理进程则回收工作进程;如果没有空闲的工作进程,那么管理进程则需要再创建几个工作进程,然后再将其中的一个空闲的工作进程分配出去。
管理进程与工作进程的通信,使用管道+信号量来进行,信号量来保证进程同步的问题。
工作进程需要定义一种结构体:包含进程ID、空闲标志等。
时间: 2024-11-08 18:15:16