并行与并发区别

简介: 并行与并发区别

备战2022春招或暑期实习,祝大家每天进步亿点点!Java并发编程Day2

本篇总结的是 如何在Java中避免创建不必要的对象,后续会每日更新~

关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客

相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!image.png目录


1、并发


2、并行


1、并发

百度百科解释


并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。


总结上面的话就是,线程轮流使用CPU的情况就称为并发(concurrent)。


总结:微观串行,宏观并行。

操作系统通过任务调度器来将CPU的时间片分给不同的线程使用,在切换线程的时候就会发生上下文切换,这个切换时间非常的短,人基本上无法感知,因此我们在单核CPU电脑中启动多个应用也会感觉是在同时运行;实际上,这些进程内的线程是串行执行的。


如下图:多个线程在单核CPU中运行,微观上是串行的,需要等待获取CPU的执行权(分配到时间片)

image.png

2、并行

在多核CPU中,每个核都可以调度线程,这时线程是可以并行的。

如下图:多个线程在多核CPU中运行,每个核都可以调度线程,这样在微观上就是并行了image.png

目录
相关文章
electron设置window系统托盘
electron设置window系统托盘
222 0
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错之遇到报错org.postgresql.util.psqlexception: The connection attempt failed.,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
资源调度
通过yarn快速安装 electron
通过yarn快速安装 electron
863 0
|
关系型数据库 MySQL Linux
⑩① 详解Linux安装 MySQL 8.0【保姆级教程】
⑩① 详解Linux安装 MySQL 8.0【保姆级教程】
2476 0
|
机器学习/深度学习 传感器 算法
【VRP问题】基于遗传算法的连锁超市配送路线规划问题研究附matlab代码
【VRP问题】基于遗传算法的连锁超市配送路线规划问题研究附matlab代码
|
Java API
【Java】什么是线程?Thread和Runnable区别
【Java】什么是线程?Thread和Runnable区别
177 0
【Java】什么是线程?Thread和Runnable区别
|
机器学习/深度学习 存储 编解码
|
人工智能 算法
KMP算法及其改进图文详解(一)
KMP算法及其改进图文详解
|
编解码 算法
Voip中的音频Codec技术
Voip中的音频Codec技术
|
弹性计算
阿里云AMD EPYC Genoa 9T24 处理器2.7 GHz主频计算性能稳定睿频3.7 GHz
阿里云AMD EPYC Genoa 9T24 处理器2.7 GHz主频计算性能稳定睿频3.7 GHz
610 0
下一篇
阿里云OSS
OSZAR »