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

多进程

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

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

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

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

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

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

多线程

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

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

3.多线程也存在一些问题:

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

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

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

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

以上是文章全部内容,有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的。感谢阅读!

点击加入此群

最新文章

  1. MongoDb gridfs-ngnix文件存储方案
  2. stimulsoft Report报表使用笔记
  3. [转]MVC3缓存之一:使用页面缓存
  4. saltstack之(六)配置管理state
  5. [转]WINDOW进程通信的几种方式
  6. 『邪恶のWIFI』搭建假冒WIFI热点等女神来蹭网啊 - -。
  7. Apache HttpComponents Client 4.0快速入门/升级-2.POST方法访问网页
  8. Linux Shell逻辑运算符和表达式详解
  9. .net mvc RazorEngine 字符串razor参数替换
  10. 2、原生js实现轮播图特效
  11. 【P2P浏览器】跟大家讨论一个想法
  12. 洛谷P4198 楼房重建 单调栈+线段树
  13. 类的静态(Static)成员——字段
  14. CStatic控件SS_NOTIFY属性
  15. 2017-2018-1 20155317 《信息安全系统设计基础》课堂实践——实现mypwd
  16. [PPT] PPT 录制视频功能.
  17. Qbot回归,已感染5.4万台计算机
  18. Neo4j简单的样例
  19. 使用GridFsTemplate在Mongo中存取文件
  20. POJ的练习题

热门文章

  1. 023.[转] 尚硅谷_Maven笔记
  2. [Go] golang中的包管理
  3. Dashboard安装与配置
  4. web安全技术--XSS和CSRF
  5. java中的this、super、static、final、abstract关键字的作用
  6. IT兄弟连 HTML5教程 HTML5文字版面和编辑标签 HTML基础标签
  7. 搞定vscode编写java(手把手篇)
  8. C# MD5 32大写位加密 UTF-8编码
  9. win10禁止自动更新的终极方法(亲测有效)
  10. CSS权重的进制问题