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 进程(每个运行一个脚本/命令),每个子进程负责一部分工作(例如插入数据库的一批数据),主进程等待或轮询子进程完成。

相关推荐
郑州光合科技余经理13 小时前
本地生活服务系统:模块边界与结算字段怎么拆
java·开发语言·前端·后端·系统架构·uni-app·php
2601_9620725016 小时前
网络安全防护指南:筑牢网络安全防线(510)
安全·web安全·php
Patrick在香港17 小时前
Python 拉取城巴开放数据:406 条路线,香港岛巴士网络的数字画像
网络·python·数据分析·php·数据可视化·香港·开放数据
吴声子夜歌21 小时前
Java——开发中通用的方法和准则(二)
java·开发语言·php
2601_962065491 天前
PHP For 循环
android·java·php
2601_962065491 天前
interface GigabitEthernet0/0/0
服务器·php·apache
虎王物联1 天前
PHP Swoole实现物联网MQTT数据订阅与WebSocket实时推送
物联网·mqtt·websocket·php·swoole
XR1234567881 天前
办公网自主创新建设怎么选?信创办公场景的选型逻辑
开发语言·php
CRMEB2 天前
不懂设计也能有精美商城?CRMEB 主题广场与可视化装修的“千店千面“实操
人工智能·ai·小程序·开源·php
梦梦代码精2 天前
《LikeShop全产品技术硬核拆解:ThinkPHP8+Vue3+UniApp架构,私有化部署与二次开发实战指南》
java·低代码·系统架构·php·开源软件