php基于pcntl扩展实现的多进程框架。
有以下几种优点: 1、子进程数量的控制 2、钩子形式的运行子进程,方便代码实现 3、3种不同的方式导入任务(数组输入、运行次数输入、动态加载) 4、子进程运行结果的收集(3种收集方式:文件、System V message queue、redis,推荐使用redis) 5、支持对子进程返回结果处理,并通过钩子方式来定义自己的处理过程
注意事项: 1、建议不开启子进程返回结果,因为这样需要使用中间件来传递结果影响效率,能在子进程中处理尽量在子进程中处理 2、使用System V message queue为中间件的注意队列的总大小和单个消息的大小,如果返回结果大小超过单个消息的大小将会发生消息失败 3、非要使用消息中间件,建议使用redis 4、_fork($arg) 方法需要有输入参数,在子进程任务输入方式是次数时,$arg为null 5、_addTask() 方法返回的一定为数组,里面的元素对应 _fork($arg) 中的$arg 6、在开启子进程结果处理方法时,MultiThread 的 run() 方法是不会有返回值 7、注意php需要的扩展是否安装,基本扩展需要有pcntl。同时也注意中间件的扩展是否安装,如果使用的话