如何在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中