线程、进程、协程



进程

程序执行的实例,理解为 正在执行的程序进程 由CPU资源分配和调度的独立单位

能够分配给cpu和内存等资源。进程一般包括指令集和系统资源,其中指令集就是你的代码,系统资源就是指cpu、内存以及I/O等。


线程

线程是进程的一个执行流。线程不能分配系统资源,它是进程的一部分,比进程更小的独立运行的单位。

进程有两个特性:一是资源的所有权,一个是调度执行,线程是调度执行中的一部分,是指进程执行过程的路径,也叫程序执行流。线程有时候也叫轻量级进程。


协程

协程是一种用户态的轻量级线程,又称微线程。协程的调度完全由用户控制, 没有线程切换的开销


进程和线程的关系

进程就像老板,线程就像员工


php编程常见的进程和线程

  1. 在web应用中,我们 每次访问php,就建立一个PHP进程,当然也会建立至少一个PHP线程。
  2. PHP使用 pcntl 来进行多进程编程
  3. PHP中使用 pthreads 来进行多线程编程
  4. nginx的每个 进程只有一个线程 ,每个线程可以处理多个客户端的访问
  5. php-fpm使用多进程模型,每个进程只有一个线程,每个线程只能处理一个客户端访问。
  6. 进程是 cpu资源分配 的最小单位,线程是 cpu调度 的最小单位
posted @ 2021-03-04 12:14  linsonga  阅读(52)  评论(0)    收藏  举报