多线程2——并发和并行
2026/4/2 9:17:00 网站建设 项目流程

一、多线程

1. 并发

🧁 并发(Concurrency):单核CPU的"多任务切换大师"

定义:多个任务在同一时间段内交替执行,看起来像是同时进行,但实际上在任意时刻只有一个任务在执行

生活比喻

你一个人在奶茶店工作,先做一杯奶茶(任务A),然后去洗杯子(任务B),再回来看一下奶茶进度(任务A),再处理一下订单(任务C)... 你看起来在同时处理多个任务,但实际上你一次只做一件事,只是切换得非常快,让顾客感觉你"同时"在忙。

2. 并行

🍜 并行(Parallelism):多核CPU的"团队协作"

定义:多个任务真正同时执行,在同一时刻有多个任务在运行。

生活比喻

你和朋友一起在奶茶店工作,你负责做奶茶(任务A),朋友负责洗杯子(任务B),另一个人负责收银(任务C)... 你们同时在做不同的事情,效率大大提高。

核心区别对比表

特性并发 (Concurrency)并行 (Parallelism)
执行方式交替执行,快速切换真正同时执行
硬件需求单核CPU即可需要多核CPU或多处理器
本质逻辑上的同时物理上的同时
效率提升提高响应性,充分利用等待时间缩短总执行时间
生活例子你一个人在厨房忙前忙后你和朋友一起在厨房同时工作

并发 ≠ 并行!这是一个常见的误解。

"并发是逻辑上的同时发生,而并行是物理上的同时发生。并发可以跑在一个处理器上通过时间片进行切换,而并行需要两个或两个以上的线程跑在不同的处理器上。"

为什么我们要用并发和并行?

并发的适用场景

  • I/O密集型任务:如网络请求、文件读写、数据库查询(大部分时间在等待I/O,CPU空闲)
  • 用户界面响应:保持界面流畅,避免卡顿(如后台下载时,前台仍可操作)
  • Web服务器:处理大量HTTP请求,提高吞吐量

并行的适用场景

  • 计算密集型任务:如图像处理、科学计算、大数据分析
  • 需要快速完成的大型任务:如视频渲染、天气模拟

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询