开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

Share90 / multi-process-pcntlPHPMIT

Watch 1 Star 0 Fork 3
forked from yuli / multi-process-pcntl 
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
基于PCNTL的PHP并发处理 封装类。 对PHP语言底层扩展的的深度解读和生产应用。 展开 收起

取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

个人声明

作者:于立(wx/yulichenr)
敬告:联系我,请注明来源和来意
本人开发有很多年了,但是很少整理分享,如今趁着清闲就为大家服务了,希望更多地体验到编程带来的快乐。
职场多年下来,技术也算是逐渐地有些积累,但是更重要的是对自身有了更加合理的人生定位。或许,人生的意义,就在于此处的感悟吧。
有对 阅读和写作; 自由工作者; 对大数据信息有领悟者 ,欢迎叨扰。

multi-process-pcntl

基于PCNTL的PHP并发处理 封装类


使用说明

整理相关的一些资料,封装了下基于 PCNTL 的多进程

生产环境已经校验了,可以放心大胆地使用

引入说明

$ composer require yuli/multi-process-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的说明,更细化的需求可以研究深化。


项目点评 ( 0 )

你可以在登录后,发表评论

搜索帮助

12_float_left_people 12_float_left_close