JUC--并行与并发
JUC–并行与并发
背景
-
JUC–并行与并发
-
博主以黑马JUC进行学习
并行与并发的概念
单核cpu下,线程实际还是串行执行的。操作系统中有一组件叫做任务调度器,将cpu的时间片(windows下的时间片最小约为15毫秒)分给不同线程使用,只是由于cpu在线程间(时间片很短)的切换非常快,人类感觉是同一时间运行的。一句话:微观串行,宏观并行,
一般会将这种线程轮流使用cpu的做法称为并发,concurrent
多核cpu下,每个核(core)都可以调度运行线程,这时候线程可以是并行的。
-
并行parallel
- 是同一时间动手做多件事的能力
-
并发concurrent
- 是同一时间应对多件事的能力
-
二者对比
对比维度 并发(Concurrent) 并行(Parallel) 核心逻辑 时间片切换,轮流执行 多核同时执行,无需切换 CPU要求 单核CPU即可实现 必须多核CPU才能实现 本质 微观串行,宏观并行(伪并行) 微观、宏观都是并行(真并行) 通俗案例 一个人同时处理多个工作(快速切换) 多个人同时处理不同的工作 核心目标 提高CPU利用率,应对多任务 提高任务执行效率,缩短总耗时