关于Java 并发部分的核心知识进行一网打尽,主要包括Java为什么会有并发问题,并发问题的解决方案,到最后的锁和JUC包的解决方案,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示
基础概念
关于并发与并行,Java的内存模型,以及并发编程会有什么问题
并发和并行的区别是什么
下面的表格展示了并发(Concurrency)、并行(Parallelism)和串行(Serial/Sequential)执行的主要区别:
特性 | 并发(Concurrency) | 并行(Parallelism) | 串行(Serial/Sequential) |
---|---|---|---|
定义 | 同一时间段内,多个任务交替执行,不一定同时。 | 同一时刻,多个任务同时执行。 | 任务一个接一个地执行,每次只有一个任务在执行。 |
处理器 | 单核处理器可以实现并发。 | 并行执行通常需要多核处理器。 | 可以在单核或多核处理器上执行,但同时只执行一个任务。 |
目的 | 提高资源使用效率 |