Avatar ·

如何在PHP应用中实现多线程?

大家好!我写PHP大约一年了,遇到了一个无法解决的问题。我需要处理一个大型数据数组(约10万条数据库记录),每条记录都需要向外部API发送HTTP请求并保存结果。用循环处理虽然可行,但非常慢——每个请求大约需要0.5-1秒,整个处理过程可能需要几个小时。 我尝试过使用`curl_multi_exec`进行并行请求,但这并不完全符合需求,因为我不仅需要执行HTTP请求,还需要做其他工作(例如解析HTML、写入文件、处理图像)。 以下是我当前代码的示例: ```php $data = getLargeArrayFromDB(); // 10万条记录 foreach ($data as $item) { $result = callExternalAPI($item['id']); // 慢速HTTP请求 processResult($result); // 还有一些其他工作 saveToFile($result); } ``` 我听说在其他语言(Java、Python)中有正常的multithreading,而在PHP中