线程进程协程

1.进程

  • 进程是系统正在运行的程序
  • 进程之间互不影响,一个进程挂了,另一个进程能继续运行(同一级别互不影响)
主进程程序执行的入口,可以理解为常用的main 函数
父进程对于子进程而言, 子进程的创造者,可有多个子进程。 任何进程都有父进程,追根溯源是系统启动程序。对于我们一般写的程序,主进程是最初始的父进程。
子进程对于父进程而言, 父进程创建的进程, 子进程只能对应一个父进程。
守护进程我们常言的daemon 进程,是子进程的一种状态,标记子进程与父进程同死。如果没有标记daemon , 则杀死父进程,与子进程的运行状态没有半分影响。
僵尸进程因为某些子进程没有设置daemon 属性,如果杀死父进程,其子进程将会变成“僵尸进程”。僵尸进程的父进程将成为init 进程的子进程。
  • 进程是系统分配资源的最小单元,资源包括:网络、cpu、磁盘等
  • 一个进程至少有一个线程(主线程),可以有多线程
  • 进程之间比较难实现数据共享
  • 是系统调度

比如:windows操作系统,打开微信,系统会自动产生一个微信进程,并为其分配资源

2.线程

  • 线程是操作系统能够进行运算调度的最小单位
  • 线程隶属于进程
  • 线程之间的切换比较容易,且线程可以较容易的实现数据共享
  • 是系统调度

比如:windows操作系统,在微信内,打开朋友圈,又打开收藏,这是两条线程

扩展

  • 开进程比开线程耗费的资源更多~
  • php是单线程语言,n个用户访问进来会开n个进程,每个进程一个线程,根据服务器的情况,配置php的性能(fpm进程池,php-fpm.conf,ps:可用grep找一下该文件),比如:
max_children *允许创建的最大子进程数
start_servers *起始进程数(服务启动后初始进程数量)
min_spare_servers *最小空闲进程数(清理空闲进程后的保留数量)
max_spare_servers *最大空闲进程数(当空闲进程达到此值时清理)
  • php也可以多开线程,可以添加pthread扩展

3.协程(后续继续完成)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值