PHP 多进程和多线程的优缺点

多进程

使用多进程, 子进程结束以后, 内核会负责回收资源

使用多进程, 子进程异常退出不会导致整个进程Thread退出. 父进程还有机会重建流程.

一个常驻主进程, 只负责任务分发, 逻辑更清楚.

多进程方式更加稳定,另外利用进程间通信(IPC)也可以实现数据共享。

共享内存,这种方式和线程间读写变量是一样的,需要加锁,会有同步、死锁问题。

消息队列,可以采用多个子进程抢队列模式,性能很好

多线程

线程是在同一个进程内的,可以共享内存变量实现线程间通信

线程比进程更轻量级,开很大量进程会比线程消耗更多系统资源

多线程也存在一些问题:

线程读写变量存在同步问题,需要加锁

锁的粒度过大存在性能问题,可能会导致只有1个线程在运行,其他线程都在等待锁

同时使用多个锁,逻辑复杂,一旦某个锁没被正确释放,可能会发生线程死锁

某个线程发生致命错误会导致整个进程崩溃

 

https://blog.csdn.net/qq_35600509/article/details/72833805

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值