php 一个方法死循环, 其他页面无法访问 ?

查看:74
本文介绍了php 一个方法死循环, 其他页面无法访问 ?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1、最近项目中 要处理大量数据,所以发生下面的问题:

public function a(){
    for($i = 1; $i<= 1000001; $i++){
        $data[] = ['a' => $i, 'add_time'=> date('Y-m-d H:i:s')];
    }
}

如果执行上面的方法,那么程序一直在循环,执行其他的方法,会处于等待状态,一直等a方法执行完成才可以运行其他的方法。

为什么呢?

解决方案

因为php是阻塞性的啊

你可以把这一段
public function a(){

for($i = 1; $i<= 1000001; $i++){
    $data[] = ['a' => $i, 'add_time'=> date('Y-m-d H:i:s')];
}

} 封装成一个方法, 然后访问这个页面的时候,把这个任务丢到redis的队列去中执行啊 。这样就实现了简单的php的异步了啊

这篇关于php 一个方法死循环, 其他页面无法访问 ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆