【JUC】并发与并行

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

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

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

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

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

线程数比核心数多的时候

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

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

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

相关推荐
Maynor9962 小时前
OpenClaw 玩家必备:用 AI 自动追踪社区最新动态
java·服务器·人工智能
堕2742 小时前
java数据结构当中的《排序》(一 )
java·数据结构·排序算法
亓才孓2 小时前
[Class的应用]获取类的信息
java·开发语言
开开心心就好2 小时前
AI人声伴奏分离工具,离线提取伴奏K歌用
java·linux·开发语言·网络·人工智能·电脑·blender
80530单词突击赢3 小时前
JavaWeb进阶:SpringBoot核心与Bean管理
java·spring boot·后端
爬山算法3 小时前
Hibernate(87)如何在安全测试中使用Hibernate?
java·后端·hibernate
云姜.3 小时前
线程和进程的关系
java·linux·jvm
是码龙不是码农3 小时前
支付防重复下单|5 种幂等性设计方案(从初级到架构级)
java·架构·幂等性
曹牧3 小时前
Spring Boot:如何在Java Controller中处理POST请求?
java·开发语言
heartbeat..3 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范