【JUC】并发与并行

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

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

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

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

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

线程数比核心数多的时候

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

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

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

相关推荐
毕设源码-郭学长几秒前
【开题答辩全过程】以 基于JAVA的车辆违章信息管理系统设计及实现为例,包含答辩的问题和答案
java·开发语言
while(1){yan}1 分钟前
UDP和TCP的核心
java·开发语言·网络·网络协议·tcp/ip·udp
麒qiqi4 分钟前
【Linux 进程间通信】信号通信与共享内存核心解析
java·linux·算法
后端小张6 分钟前
【Java 进阶】深入理解Redis:从基础应用到进阶实践全解析
java·开发语言·数据库·spring boot·redis·spring·缓存
柯南二号6 分钟前
【后端】【Java】RabbitMQ / RocketMQ / Kafka / Redis 消息队列深度对比与选型指南
java·java-rocketmq·java-rabbitmq
木心爱编程14 分钟前
【Qt 5.14.2 新手实战】QTC++入门筑基——10 分钟做个文本编辑器:QLineEdit + QTextEdit 核心用法
java·c++·qt
楠枬16 分钟前
Nacos
java·spring·spring cloud·微服务
ShadowSmartMicros19 分钟前
SpringAi调用Mcp
java·ai
MediaTea20 分钟前
思考与练习(第四章 程序组成与输入输出)
java·linux·服务器·前端·javascript
kong790692822 分钟前
Java新特性-(四)方法与数组
java·数组·方法