用伪码表示这部分代码就是:
如果(是 进程 而且 当前没有要求终止服务器) 就一直循环下去
{
如果还有未创建的子进程
{
创建出一个子进程
如果是子进程, 那么根据最上面的循环条件退出这个循环.
如果是父进程, 那么将未创建的子进程数量 - 1
}
否则 就是没有未创建的子进程
{
一直保持睡眠, 一旦发现有子进程退出父进程就苏醒, 将未创建的子进程数量 + 1;
}
}
父进程的代码永远不会执行到这个循环体之外, 一旦发生, 就是因为要终止服务器的运行, 如果这种情况发生, 就进行最后的一些清理工作....
在这之后, 各子进程分道扬镳, 各自去进行自己的工作, 互不干扰.这也是我非常喜欢多进程编程的原因, 少了多线程编程中考虑到数据同步等麻烦的事情,要考虑的事情相对而言简单的多了.
关于多进程 VS 多线程的话题, 不在这里多加阐述了.