并行与并发区别

简介: 并行与并发区别

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

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

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

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


1、并发


2、并行


1、并发

百度百科解释


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


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


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

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


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

image.png

2、并行

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

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

目录
相关文章
|
6月前
并发与并行的区别(详细介绍)
并发与并行的区别(详细介绍)
5605 0
并发和并行以及他们的区别
并发:         并发指的是多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。在多核处理器上,多个线程可以真正同时执行,而在单核处理器上,线程之间通过时间片轮转实现并发。         所以当谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。 并行:         并行指的是多个任务同时执行的能力,每个任务都在独立的CPU上执行。并行通常用于同时处理独立任务,这些任务可以同时执行,而不需要相互等待或协同工作。 两者区别:         关键区别在于并发强调任务在时间上交替执行
120 0
|
1月前
|
SQL 传感器 开发框架
今天我们聊聊C#的并发和并行
今天我们聊聊C#的并发和并行
53 1
|
5月前
|
分布式计算 并行计算 调度
并行和并发的区别
并行和并发的区别
|
6月前
并行和并发有什么区别?
并行和并发有什么区别?
|
6月前
|
调度 数据库 计算机视觉
并行和并发的区别(详细)
并行和并发的区别(详细)
|
并行计算 调度
多线程的并发和并行
多线程的并发和并行
|
6月前
|
机器学习/深度学习 分布式计算 负载均衡
并发与并行
并发与并行
61 0
并行,并发?
并行,并发?
36 0
|
存储 并行计算 安全
并发和并行的区别
并发和并行的区别