标签存档: PHP异步

1,202 查看

PHP中的并行处理(简)

针对多核的cpu泛滥的今天,如何使用好这些CPU资源成了重要的话题。于是异步和并行便开始了大行其道。在PHP中也有异步或并行编程的概念。接下来让我们看具体的例子。 并行处理                                                                               现在我们需要跑两个任务,分别为job1.php和job2.php job1.php的代码如下: $jobname = 'job1'; set_time_limit(0); $secs = 30; while ($secs) { echo 'current job is'.$jobname,'::',$secs,"\n"; flush(); @ob_flush(); ## make sure that all output is sent in real-time $secs -= 1; $t = time(); sleep(1); // pause } …

继续阅读 »

607 查看

如何分析和提供PHP的并行问题

概述: 对于分析并行问题最有效的方法就是递归式地将问题分隔成2个或多个相同类型的子问题,直到这些问题简单(和快速)到可以直接解决。 然后将这些子问题的解决方案组合成为原问题的解决方案。 实例: 为了更好的解释,我们举个实例。在数据库中现在有几百万条的财政支付数据记录,现在你希望使用PHP并行地处理: 1、首先将你的数据按逻辑块分组,将需要在同一个事物中处理的分成一组。如果你要为很多个账号处理支付信息的话,就根据账号进行分组。 2、确定并行处理的个数。例如,如果我们的服务器是1U的双核CPU,那么我们就运行2个并发的子处理。 3、将所有的记录进行分割,具体按照什么分割根据实际情况,比如中位数、因为中位数可以很好的在数量上均分记录。 4、按照我们之前说的情况,我们将第一条记录到中位数对应的记录交给一个子处理,第二个子处理就处理余下的记录。 以上只是说明了个很简单的情况,我们这里的分割时根据中位数的,在很多实际情况中,我们并不会这样分,更可能是根据不同性质的数据交由不同的服务进行处理。但是大致的思想就是如此。

无觅相关文章插件,快速提升流量