码云 code 地址php
基于PCNTL的PHP并发处理 封装类github
整理相关的一些资料,封装了下基于 PCNTL 的多进程编程
生产环境已经校验了,能够放心大胆地使用数组
// 任务数组参数,以此做为切分进程的量化依据,默认被调用方法的第一个参数 $task = range(1, 12); // 默认 5 个进程,能够进行配置 // 设置的进程数是最大能够取到的进程数 // 会根据任务量 和 进程数进行灵活设定,会根据 count($task)/5 对每一个进程内的任务数进行由多到少的分配,后面不足的将再也不启动新的进程了 $sync = new MultiProcessPcntl($task); // $sync = new MultiProcessPcntl($task, 6); // 支持调用类方法 // 支持传参 $sync->call('test', 'append arg');
PHP自己不支持多进程,但基于Linux的PHP扩展PCNTL却能够提供多进程编程。并发
PCNTL 函数 - PHP 官网手册中对PCNTL的说明,更细化的需求能够研究深化。app