Atitit  多线程 什么时候使用多进程的选择场景

目录

1.1. 看实现,比如你的用node.js实现,那就没得选了,只能多进程 1

1.2. 如果用java这一类,可以选择多进程与多线程模式,或者综合使用,各有所长 1

1.3. 稳定性优先情况下 要选择多进程,万一挂掉,不影响后继 1

1.4. 性能优先一般选择多线程 1

1.5. 编程、调试维度  多进程简单 1

2. I/O密集型?CPU密集型 与多进程多线程选择。 2

3. 结论 2

3.1. 一般来说  开发效率优先  ,性能其次,所以多进程模式更具适合一些 2

3.2. 综合起来,某些模块使用多进程多一些,,某些多线程多一些 2

4. Ref 2

 

1.1. 看实现,比如你的用node.js实现,那就没得选了,只能多进程

1.2. 如果用java这一类,可以选择多进程与多线程模式,或者综合使用,各有所长

1.3. 稳定性优先情况下 要选择多进程,万一挂掉,不影响后继

1.4. 性能优先一般选择多线程

1.5. 编程、调试维度  多进程简单

对比维度

多进程

多线程

总结

数据共享、同步

数据共享复杂,需要用IPC;数据是分开的,同步简单

因为共享进程数据,数据共享简单,但也是因为这个原因导致同步复杂

各有优势

内存、CPU

占用内存多,切换复杂,CPU利用率低

占用内存少,切换简单,CPU利用率高

线程占优

创建销毁、切换

创建销毁、切换复杂,速度慢

创建销毁、切换简单,速度很快

线程占优

编程、调试

编程简单,调试简单

编程复杂,调试复杂

进程占优

可靠性

进程间不会互相影响

一个线程挂掉将导致整个进程挂掉

进程占优

分布式

适应于多核、多机分布式;如果一台机器不够,扩展到多台机器比较简单

适应于多核分布式

进程占优

2. I/O密集型?CPU密集型 与多进程多线程选择。

一般io密集型 从性能考虑可选多线程, 稳定性考虑选多进程

Cpu密集型也是如此

3. 结论

3.1. 一般来说  开发效率优先  ,性能其次,所以多进程模式更具适合一些

3.2. 综合起来,某些模块使用多进程多一些,,某些多线程多一些

4. Ref

多线程还是多进程的选择及区别 - CSDN博客.html

Atitit 多线程 什么时候使用多进程的选择场景 目录 1.1. 看实现,比如你的用node.js实现,那就没得选了,只能多进程 1 1.2. 如果用java这一类,可以选择多进程与多线程模式,或相关推荐

  1. java 推送数据给js,Node.js实现数据推送

    场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器). 后端推送数据的解决方案有很多,比如轮询.Comet.WebSocket. 1. 轮询对于后端来说开发成本最低,就是按照传统的方式 ...

  2. python多进程和多线程使用场景_Python36 多线程、多进程的使用场景

    多线程与多进程的使用场景 io 操作不占用CPU(从硬盘.从网络.从内存读数据都算io) 计算占用CPU(如1+1计算) python中的线程是假线程,不同线程之间的切换是需要耗费资源的,因为需要存储 ...

  3. Atitit.多媒体区----web视频格式的选择总结

    Atitit.多媒体区----web视频格式的选择总结 1. 因为现阶段不同的浏览器支持的视频格式是不同的 1 2. 各浏览器Html5 Video支持的影音格式: 2 3. 解决方案是什么?Flas ...

  4. 【nodejs原理源码赏析(4)】深度剖析cluster模块源码与node.js多线程(上)

    [摘要] 集群管理模块cluster浅析 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 概述 cluster模块是node.js中用于实现和管理 ...

  5. Java第二十八天——杂七杂八的流 多线程

    Java第二十八天--杂七杂八的流 多线程 一.杂七杂八的流 1._序列化流和反序列化流的概述和使用(理解) A:序列化流的概述 ​ 所谓的序列化:就是把对象通过流的方式存储到文件中.注意:此对象 要 ...

  6. 黑马毕向东Java课程笔记(day11):多线程(第一部分)——进程与线程+线程创建+线程安全与同步代码块+同步锁/死锁

    多线程好文:添加链接描述 锁机制:synchronized.Lock.Condition.volatile(原子性可见性)--参考添加链接描述 1.进程与线程概述   首先,对于CPU执行每一个程序, ...

  7. Java API(2) File IO 异常 多线程 01-05

    文章目录 day01 File类 创建一个新文件 删除一个文件 创建目录 删除目录 访问一个目录中的所有子项 获取目录中符合特定条件的子项 Lambda表达式 day02 JAVA IO Java定义 ...

  8. Android(java)学习笔记158:多线程断点下载的原理(JavaSE实现)

    1. 为什么需要多线程下载?     服务器的资源有限,同时的平均地分配给每个客户端.开启的线程越多抢占的服务的资源就越多,下载的速度就越块. 2. 下载速度的限制条件? (1)你的电脑手机宽带的带宽 ...

  9. Java、Scala和Go语言多线程并发对比测试

    2019独角兽企业重金招聘Python工程师标准>>> 本文试图记录下对流行的Java.Scala和Go语言多线程并发对比测试,作为未来项目选择开发语言的一个参考. 具体的语言对比测 ...

  10. Java高新技术笔记:反射、多线程、泛型、枚举、javaBean、代理

    1.IDE: Integrated Development Environment 2.集成开发环境两个主流:Eclipse和netBeans 3.preference: 偏爱 4.Compiler: ...

最新文章

  1. PostgreSQL技术周刊第8期:用PostgreSQL 做实时高效搜索引擎
  2. printf 中转义字符大全
  3. Java黑皮书课后题第8章:**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。如果一个银行的总资产在某个限以下,那么这个银行是不安全的。编写程序,找出所有不安
  4. 1215B. The Number of Products
  5. 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音
  6. Kafka 集群数据备份 MirrorMaker 详解
  7. phpcms中关于设备类型的检测与判断的设置
  8. Hadoop 集群的基准测试
  9. Java千百问_05面向对象(008)_java中覆盖是什么
  10. 虚拟化是什么,主要有哪些虚拟化技术?
  11. iperf3 linux源码下载
  12. PCWorld评10大科技产品:IBM超级计算机上榜
  13. ADADELTA: AN ADAPTIVE LEARNING RATE METHOD
  14. 桥本分数式c语言,《算法设计与分析教案(新格式)》.doc
  15. Zynga旗下魔法三消手机游戏《Harry Potter: Puzzles Spells》邀请玩家一起参加最新推出的游戏内系列活动——俱乐部挑战赛
  16. Masking GAN
  17. python语法基础#1
  18. raid ahci模式哪个好_一机多用的RAID磁盘阵列 QNAP TR-004体验测评
  19. 初学Linux很土鳖?带你认识Linux,如何安装Linux?
  20. Linux命令行下载大文件,下载Onedrive文件

热门文章

  1. java 云虚拟机_Java 虚拟机一览表
  2. 三星s6 html5测试分数,魅蓝s6安兔兔跑分有多少
  3. 滴滴java开发面试题_最新Java面试题汇总,看完这些面试文章足够了
  4. python基础教程之pymongo库
  5. 解决gitlab内存占用过多的问题
  6. 省城两日游,凉透了。。。
  7. 聊一聊让我蒙蔽一晚上的各种常量池
  8. apache 中 ServerAlias多个域名绑定同一空间(网站)
  9. 码农谷 找出N之内的所有完数
  10. 易宝典文章——玩转Office 365中的Exchange Online服务 之十一 怎样在Exchange Online中配置邮件传递限制...