Atitit 多线程 什么时候使用多进程的选择场景 目录 1.1. 看实现,比如你的用node.js实现,那就没得选了,只能多进程 1 1.2. 如果用java这一类,可以选择多进程与多线程模式,或
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这一类,可以选择多进程与多线程模式,或相关推荐
- java 推送数据给js,Node.js实现数据推送
场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器). 后端推送数据的解决方案有很多,比如轮询.Comet.WebSocket. 1. 轮询对于后端来说开发成本最低,就是按照传统的方式 ...
- python多进程和多线程使用场景_Python36 多线程、多进程的使用场景
多线程与多进程的使用场景 io 操作不占用CPU(从硬盘.从网络.从内存读数据都算io) 计算占用CPU(如1+1计算) python中的线程是假线程,不同线程之间的切换是需要耗费资源的,因为需要存储 ...
- Atitit.多媒体区----web视频格式的选择总结
Atitit.多媒体区----web视频格式的选择总结 1. 因为现阶段不同的浏览器支持的视频格式是不同的 1 2. 各浏览器Html5 Video支持的影音格式: 2 3. 解决方案是什么?Flas ...
- 【nodejs原理源码赏析(4)】深度剖析cluster模块源码与node.js多线程(上)
[摘要] 集群管理模块cluster浅析 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 概述 cluster模块是node.js中用于实现和管理 ...
- Java第二十八天——杂七杂八的流 多线程
Java第二十八天--杂七杂八的流 多线程 一.杂七杂八的流 1._序列化流和反序列化流的概述和使用(理解) A:序列化流的概述 所谓的序列化:就是把对象通过流的方式存储到文件中.注意:此对象 要 ...
- 黑马毕向东Java课程笔记(day11):多线程(第一部分)——进程与线程+线程创建+线程安全与同步代码块+同步锁/死锁
多线程好文:添加链接描述 锁机制:synchronized.Lock.Condition.volatile(原子性可见性)--参考添加链接描述 1.进程与线程概述 首先,对于CPU执行每一个程序, ...
- Java API(2) File IO 异常 多线程 01-05
文章目录 day01 File类 创建一个新文件 删除一个文件 创建目录 删除目录 访问一个目录中的所有子项 获取目录中符合特定条件的子项 Lambda表达式 day02 JAVA IO Java定义 ...
- Android(java)学习笔记158:多线程断点下载的原理(JavaSE实现)
1. 为什么需要多线程下载? 服务器的资源有限,同时的平均地分配给每个客户端.开启的线程越多抢占的服务的资源就越多,下载的速度就越块. 2. 下载速度的限制条件? (1)你的电脑手机宽带的带宽 ...
- Java、Scala和Go语言多线程并发对比测试
2019独角兽企业重金招聘Python工程师标准>>> 本文试图记录下对流行的Java.Scala和Go语言多线程并发对比测试,作为未来项目选择开发语言的一个参考. 具体的语言对比测 ...
- Java高新技术笔记:反射、多线程、泛型、枚举、javaBean、代理
1.IDE: Integrated Development Environment 2.集成开发环境两个主流:Eclipse和netBeans 3.preference: 偏爱 4.Compiler: ...
最新文章
- PostgreSQL技术周刊第8期:用PostgreSQL 做实时高效搜索引擎
- printf 中转义字符大全
- Java黑皮书课后题第8章:**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。如果一个银行的总资产在某个限以下,那么这个银行是不安全的。编写程序,找出所有不安
- 1215B. The Number of Products
- 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音
- Kafka 集群数据备份 MirrorMaker 详解
- phpcms中关于设备类型的检测与判断的设置
- Hadoop 集群的基准测试
- Java千百问_05面向对象(008)_java中覆盖是什么
- 虚拟化是什么,主要有哪些虚拟化技术?
- iperf3 linux源码下载
- PCWorld评10大科技产品:IBM超级计算机上榜
- ADADELTA: AN ADAPTIVE LEARNING RATE METHOD
- 桥本分数式c语言,《算法设计与分析教案(新格式)》.doc
- Zynga旗下魔法三消手机游戏《Harry Potter: Puzzles Spells》邀请玩家一起参加最新推出的游戏内系列活动——俱乐部挑战赛
- Masking GAN
- python语法基础#1
- raid ahci模式哪个好_一机多用的RAID磁盘阵列 QNAP TR-004体验测评
- 初学Linux很土鳖?带你认识Linux,如何安装Linux?
- Linux命令行下载大文件,下载Onedrive文件
热门文章
- java 云虚拟机_Java 虚拟机一览表
- 三星s6 html5测试分数,魅蓝s6安兔兔跑分有多少
- 滴滴java开发面试题_最新Java面试题汇总,看完这些面试文章足够了
- python基础教程之pymongo库
- 解决gitlab内存占用过多的问题
- 省城两日游,凉透了。。。
- 聊一聊让我蒙蔽一晚上的各种常量池
- apache 中 ServerAlias多个域名绑定同一空间(网站)
- 码农谷 找出N之内的所有完数
- 易宝典文章——玩转Office 365中的Exchange Online服务 之十一 怎样在Exchange Online中配置邮件传递限制...