☰
多线程=高并发?
2026/9/26 11:16:35 网站建设 项目流程

二者不能划等号

多线程是实现并发的一种手段;并发是程序运行的一种现象/能力。 而且并发 ≠ 并行。


1. 概念拆解

并发(Concurrency)

宏观上多个任务交替推进,同一时刻不一定同时执行。 单核CPU上,快速切换任务,看起来像一起跑,这就是并发。

核心:任务可以交替调度,不是同时执行

实现并发的方式不止多线程:

  • 多进程
  • 协程(Go协程、Python asyncio)
  • 异步IO(单线程异步)

👉并发 ≠ 一定有多线程,单线程异步也能实现并发。

多线程(Multi-thread)

一个进程内部,创建多条执行流(线程),共享进程资源。 多线程只是并发的实现方案之一。 多线程程序,不一定是并发:比如所有线程串行排队执行,没有调度交替,就谈不上并发。

并行(Parallelism)

多核CPU,同一时刻多个任务真的同时运行。 并行属于并发的子集(广义并发包含并行),面试常区分:

  • 并发:交替跑(单核也能做到)一定是交替跑吗【狭义并发:交替跑;广义并发包含两种情况:交替跑 + 同时跑(并行)】
  • 并行:同时跑(必须多核)

2. 举例子

  1. 单线程异步(Node.js):只有1个线程,通过事件循环切换处理多个请求 →并发,但不是多线程
  2. Java多线程跑在单核CPU:多个线程轮流切换执行 →多线程,实现并发
  3. Java多线程跑在多核CPU:多个线程同时在不同核上跑 →多线程,并行(属于广义并发)

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

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

立即咨询