2026/4/16 3:33:56
网站建设
项目流程
网站用亚马逊做标题会侵权吗,徐州建设工程公共资源交易平台,门户网站制作定做,网站服务器维护方案文章目录 一、核心定义二、底层原理1. 并发的实现原理#xff08;单核 CPU 场景#xff09;2. 并行的实现原理#xff08;多核 CPU 场景#xff09; 三、适用场景四、总结 一、核心定义
概念核心定义比喻并发#xff08;Concurrency#xff09;同一时间段内处理多个任务…文章目录一、核心定义二、底层原理1. 并发的实现原理单核 CPU 场景2. 并行的实现原理多核 CPU 场景三、适用场景四、总结一、核心定义概念核心定义比喻并发Concurrency同一时间段内处理多个任务任务交替执行CPU 核心数 ≤ 任务数一个厨师同时处理点餐、炒菜、出餐先炒两口菜停下来接订单再回去炒菜交替做并行Parallelism同一时刻执行多个任务任务同时执行CPU 核心数 ≥ 任务数两个厨师同时炒菜一个炒番茄炒蛋一个炒青椒肉丝同时做补充并发的核心是任务切换CPU 时间片轮转看似 “同时”宏观实则 “交替”微观并行的核心是任务同时执行依赖多核 CPU 硬件支持并发是 “处理多任务的能力”并行是 “同时执行多任务的状态”二、底层原理1. 并发的实现原理单核 CPU 场景单核 CPU 无法真正并行执行多个线程只能通过时间片轮转调度算法实现并发CPU 给每个线程分配极短的时间片如 10ms线程 A 执行 10ms 后CPU 保存线程 A 的上下文执行状态切换到线程 B线程 B 执行 10ms 后再切换回线程 A恢复上下文继续执行由于切换速度极快纳秒级人类宏观感知上像 “同时执行”2. 并行的实现原理多核 CPU 场景多核 CPU 中不同核心可以同时执行不同线程线程 A 在 CPU 核心 1 执行线程 B 在 CPU 核心 2 执行两个线程无切换真正 “同时” 运行效率更高多核 CPU 中既可以有并发同一核心交替执行多任务也可以有并行多核心同时执行多任务三、适用场景场景类型推荐原因IO 密集型任务如网络请求、文件读写并发任务大部分时间在等待 IOCPU 空闲时可切换执行其他任务提升吞吐量CPU 密集型任务如大数据计算、数值运算并行任务需要持续占用 CPU多核并行可避免上下文切换大幅缩短总耗时任务间有依赖关系如任务 B 依赖任务 A 的结果并发无法并行执行只能通过并发调度顺序执行任务间完全独立如多个独立的计算任务并行多核同时执行效率最大化注意只有在CPU多核情况下才能提高效率单核情况下依旧是轮流执行四、总结核心区别并发是 “交替处理多任务”单核并行是 “同时执行多任务”多核底层支撑并发依赖 CPU 时间片轮转并行依赖多核硬件