备战2022春招或暑期实习,祝大家每天进步亿点点!Java并发编程Day2
本篇总结的是 如何在Java中避免创建不必要的对象,后续会每日更新~
关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客
相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!目录
1、并发
2、并行
1、并发
百度百科解释
并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
总结上面的话就是,线程轮流使用CPU的情况就称为并发(concurrent)。
总结:微观串行,宏观并行。
操作系统通过任务调度器来将CPU的时间片分给不同的线程使用,在切换线程的时候就会发生上下文切换,这个切换时间非常的短,人基本上无法感知,因此我们在单核CPU电脑中启动多个应用也会感觉是在同时运行;实际上,这些进程内的线程是串行执行的。
如下图:多个线程在单核CPU中运行,微观上是串行的,需要等待获取CPU的执行权(分配到时间片)
2、并行
在多核CPU中,每个核都可以调度线程,这时线程是可以并行的。
如下图:多个线程在多核CPU中运行,每个核都可以调度线程,这样在微观上就是并行了