PHP中对于(并发/并行)相关概念

PHP中对于并发/并行相关概念

  • 推荐链接
  • [多进程(fork / pcntl_fork())](#多进程(fork / pcntl_fork()))
  • 多线程(pthreads)
  • 并行扩展(parallel)
  • [异步任务池 / 协程(Swoole / Workerman)](#异步任务池 / 协程(Swoole / Workerman))
  • [多进程 CLI 调度(spawn/exec 多个 PHP CLI 进程)](#多进程 CLI 调度(spawn/exec 多个 PHP CLI 进程))

推荐链接

链接目录

并发(concurrency)是"有很多任务在同一时间段里交替进行",不一定同时运行;

并行(parallelism)是"多个任务在同一时刻同时运行"(真正并行需要多核/多CPU)。

多进程(fork / pcntl_fork())

通过操作系统把当前进程复制出若干子进程(每个子进程拥有自己的内存地址空间)。父子进程可以通过管道、socket、共享内存或文件/DB通信(IPC)。

javascript 复制代码
123

多线程(pthreads)

线程是进程内的执行单元,多个线程共享同一进程的内存空间(变量、资源共享更方便)。

并行扩展(parallel)

parallel 是一个较新的 PECL 扩展,提供线程/任务并行模型(可创建 Runtime/Threads 并在其中运行 closures),比 pthreads 更现代、更安全。每个 Runtime 有自己的上下文(类似轻量进程)。

异步任务池 / 协程(Swoole / Workerman)

通过事件循环 + 协程(轻量线程)/回调,把大量 IO 操作以非阻塞方式运行在单个或少量线程/进程上。协程看起来像同步代码,但底层是异步调度。

多进程 CLI 调度(spawn/exec 多个 PHP CLI 进程)

主进程以 shell/系统调用 exec/popen/proc_open 启动多个独立的 php CLI 进程(每个运行一个脚本/命令),每个子进程负责一部分工作(例如插入数据库的一批数据),主进程等待或轮询子进程完成。

相关推荐
niucloud-admin5 小时前
PHP V6 单商户常见问题——云编译报SSL证书错误的处理方案
php
计算机安禾6 小时前
【Linux从入门到精通】第31篇:防火墙漫谈——iptables与firewalld防护指南
linux·运维·php
2401_8734794011 小时前
企业安全团队如何配合公安协查?IP查询在电子取证中的技术实践
tcp/ip·安全·网络安全·php
L16247611 小时前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php
niucloud-admin12 小时前
PHP V6 单商户常见问题——本地phpstudy部署,访问域名/admin 、域名/wap无法自动跳转对应首页问题
php
隔窗听雨眠14 小时前
MySQL主从延迟根因诊断法
开发语言·php
niucloud-admin15 小时前
PHP V6 单商户常见问题——运行内存太小导致的报错处理
php
nbwenren16 小时前
办公AI实测:Gemini3、GPT-4o、Claude3.5谁更强?
服务器·数据库·php
hopetomorrow16 小时前
学习路之PHP --PHP 常用扩展及作用表
开发语言·学习·php
幽络源小助理17 小时前
影视脚本分镜在线协作系统源码 PHP剧本创作平台
开发语言·php