php 一个方法死循环, 其他页面无法访问 ?
一辆想出轨的无轨电车
一辆想出轨的无轨电车 2017-02-22 10:00:39
0
2
955

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

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

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

为什么呢?


一辆想出轨的无轨电车
一辆想出轨的无轨电车

全員に返信(2)
数据分析师

php 1つのメソッドが無限ループになり、他のページにアクセスできなくなりますか? -PHP中国語サイトQ&A-php メソッドが無限ループになって他のページにアクセスできない? -PHP中国語サイトQ&A

ぜひ見て学んでください。

いいねを押す +0
巴扎黑

因为php是阻塞性的啊

你可以把这一段

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

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


いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート