【JUC】并发与并行

单核cpu下,线程实际还是串行执行的,操作系统中有一个组件叫任务调度器,将cpu的时间片(windows下时间片最小约15毫秒)分给不同的线程使用,只是由于cpu在线程间(时间片很短)的切换非常快,人类感觉是同时运行的

总结为一句话:微观串行,宏观并行

一般会将这种线程轮流使用CPU的做法称为并发,concurrent

多核cpu下,每个核(core)都可以调度运行线程,这时候线程可以是并行(parallel)的

更多的时候既有并行也有并发

线程数比核心数多的时候

引用golang语言的创造者Rob Pike的一段描述:

并发是同一时间应对多件事情的能力

并行是同一时间动手做多件事情的能力

相关推荐
Cc.Y2 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
paopaokaka_luck2 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
sm_926787053 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
阿森_dev3 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
Sarvartha3 小时前
Lambda 表达式和函数式接口
java·开发语言
计算机毕业设计杰瑞3 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
colinu3 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
蜗牛互联网3 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端
逐光者9334 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
wuminyu4 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++