目录
回复内容:
首页 后端开发 php教程 多线程 - PHP怎么同时执行,或者说多个进程执行?

多线程 - PHP怎么同时执行,或者说多个进程执行?

Jun 06, 2016 pm 08:31 PM
php php-fpm 多线程 多进程 并发

比如一个文件放着1万一个URL,然后有个PHp文件要读取这一万个URL,然后读URL把有邮箱全取出来,
那么问题就来了,一个文件处理这么多的话肯定慢死了,一个一个遍历一个一个读。
我意思是能不能读取到一个URL就开一个PHP进程单独处理,在读到一个在开一个PHP进程,这是我的思路,大神有好的办法吗?

回复内容:

比如一个文件放着1万一个URL,然后有个PHp文件要读取这一万个URL,然后读URL把有邮箱全取出来,
那么问题就来了,一个文件处理这么多的话肯定慢死了,一个一个遍历一个一个读。
我意思是能不能读取到一个URL就开一个PHP进程单独处理,在读到一个在开一个PHP进程,这是我的思路,大神有好的办法吗?

并行发起多个URL请求,可以考虑通过curl_multi和pthreads来实现:
http://php.net/manual/zh/function.curl-multi-init.php
https://github.com/krakjoe/pthreads/blob/master/examples/SimpleWebRequ...

PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间。
参考下这里http://zyan.cc/pthreads/

开1w个进程操作进程在进程切换的时候会有很大的开销,性能不一定能达到预期,甚至操作系统崩溃也是有可能的,我理解你这个程序是不是爬虫之类的脚本,不是线上的服务?如果只是这种线下任务的话,其实有简单的方法,比如你可以用split命令将1w个url分成100个,然后用shell写个循环,开100个进程去执行

用计划任务吧,
php xxx.php 每次处理10-20条,
然后用shell脚本,每秒处理一次
这样子的话,系统压力应该不大。又能够快速处理

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 使用数据库 CakePHP 使用数据库 Sep 10, 2024 pm 05:25 PM

在 CakePHP 中使用数据库非常容易。本章我们将了解CRUD(创建、读取、更新、删除)操作。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 日志记录 CakePHP 日志记录 Sep 10, 2024 pm 05:26 PM

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数

See all articles