很多站长朋友们都不太清楚php实现多任务,今天小编就来给大家整理php实现多任务,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么把各种任务做成多个任务队列,每3秒任务执行程序轮一次,分别按顺序从各队列里提取一个任务来执行 2、 有办法在windows下实现PHP的多进程编程吗 3、 PHP多任务(线程)计算的问题 php怎么把各种任务做成多个任务队列,每3秒任务执行程序轮一次,分别按顺序从各队列里提取一个任务来执行可以使用数组模拟队列,给定多个数组,然后将任务放入各个数组中,每次循环遍历数组,从数组中获取任务,然后调度执行。
对于每3秒执行一次,可以使用定时器。或者写一个死循环,循环里面执行一次程序,然后睡眠3秒,这样就可以简单实现每隔3秒的任务循环调度。
有办法在windows下实现PHP的多进程编程吗你先想清楚是否真的需要fork, signal, priority等pcntl的特性,如果其实你只是想要另外新开一个进程,也可以通过cli下面用exec执行额外的php进程来一定程度上模拟多进程
如果你确实需要fork等特性:
cygwin是Windows上的POSIX环境,你可以在上边试试编译php以及pcntl的扩展(不知道是否能走通)
上虚拟机吧
PHP多任务(线程)计算的问题要设计一个任务队列,然后把所有情况都列出,插入队列
用Pcntl库开5个进程,从队列中取任务,进行分析
队列可以直接用mysql,给自增的ID。为了将任务均匀分到五个进程,ID要用5求余,进程1用余数为1的,依次类推。SQL语句就能做到。这样每个进程只会SELECT到自己的任务,互不干扰。
Pcntl的用法请查手册
关于php实现多任务的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php实现多任务 php如何开启多线程的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did167878