【JUC】并发与并行

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

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

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

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

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

线程数比核心数多的时候

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

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

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

相关推荐
okseekw1 小时前
Java String类详解:不可变性、创建方式与比较方法
java
q***64971 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
降临-max1 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
带刺的坐椅2 小时前
Solon AI 开发学习5 - chat - 支持哪些模型?及方言定制
java·ai·openai·solon
悟空码字2 小时前
单点登录:一次登录,全网通行
java·后端
傻啦嘿哟2 小时前
物流爬虫实战:某丰快递信息实时追踪技术全解析
java·开发语言·数据库
倚肆2 小时前
Spring Boot Security 全面详解与实战指南
java·spring boot·后端
茄子凉心2 小时前
android 开机启动App
android·java·开发语言
8***f3952 小时前
工作中常用springboot启动后执行的方法
java·spring boot·后端