84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
1、最近项目中 要处理大量数据,所以发生下面的问题:
public function a(){ for($i = 1; $i<= 1000001; $i++){ $data[] = ['a' => $i, 'add_time'=> date('Y-m-d H:i:s')]; }}
如果执行上面的方法,那么程序一直在循环,执行其他的方法,会处于等待状态,一直等a方法执行完成才可以运行其他的方法。
为什么呢?
php A method is in an infinite loop and other pages cannot be accessed? -PHP Chinese website Q&A-php A method is in an infinite loop and other pages cannot be accessed? -PHP Chinese website Q&A
Let’s take a look and learn.
因为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 A method is in an infinite loop and other pages cannot be accessed? -PHP Chinese website Q&A-php A method is in an infinite loop and other pages cannot be accessed? -PHP Chinese website Q&A
Let’s take a look and learn.
因为php是阻塞性的啊
你可以把这一段
封装成一个方法, 然后访问这个页面的时候,把这个任务丢到redis的队列去中执行啊 。这样就实现了简单的php的异步了啊