线程、进程、协程
进程
程序执行的实例,理解为 正在执行的程序进程 由CPU资源分配和调度的独立单位
能够分配给cpu和内存等资源。进程一般包括指令集和系统资源,其中指令集就是你的代码,系统资源就是指cpu、内存以及I/O等。
线程
线程是进程的一个执行流。线程不能分配系统资源,它是进程的一部分,比进程更小的独立运行的单位。
进程有两个特性:一是资源的所有权,一个是调度执行,线程是调度执行中的一部分,是指进程执行过程的路径,也叫程序执行流。线程有时候也叫轻量级进程。
协程
协程是一种用户态的轻量级线程,又称微线程。协程的调度完全由用户控制, 没有线程切换的开销
进程和线程的关系
进程就像老板,线程就像员工
php编程常见的进程和线程
- 在web应用中,我们 每次访问php,就建立一个PHP进程,当然也会建立至少一个PHP线程。
- PHP使用 pcntl 来进行多进程编程
- PHP中使用 pthreads 来进行多线程编程
- nginx的每个 进程只有一个线程 ,每个线程可以处理多个客户端的访问
- php-fpm使用多进程模型,每个进程只有一个线程,每个线程只能处理一个客户端访问。
- 进程是 cpu资源分配 的最小单位,线程是 cpu调度 的最小单位
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律