news 2026/8/22 11:11:34

为什么程序要“同时干很多事”?从 CPU 到线程模型讲透并发编程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么程序要“同时干很多事”?从 CPU 到线程模型讲透并发编程

刚开始学并发编程时,很多人都会觉得它有点“反直觉”。

一个程序明明可以:

先执行 A
再执行 B
最后执行 C

为什么非要搞出:

  • 多线程
  • 线程池
  • CAS
  • volatile
  • 并发容器

这些复杂东西?

其实并发编程出现的原因很简单:

程序里的很多时间,并不是在计算,而是在等待。

如果等待期间什么都不做,CPU 就被浪费了。


一、先想象一家只有一个服务员的餐厅

假设餐厅只有一个服务员。

现在 A 客人点了一份牛排。

如果服务员的工作方式是:

给 A 点菜

去厨房

站着等牛排做好

端给 A

再接待 B

牛排要做 10 分钟。

那这 10 分钟里,B、C、D 客人全部只能干等。

显然不合理。

正常的做法应该是:

给 A 点菜

厨房开始做

同时:

给 B 点菜

给 C 结账

给 D 上水

A 的菜好了以后,再回来给 A 上菜。

这就是并发最核心的思想:

一个任务在等待时,让执行资源去处理其他任务。

程序也是一样。


二、程序为什么有这么多“等待”?

比如一个 Web 接口:

publicUsergetUser(Longid){returnuserMapper.selectById(id);}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 11:10:39

全双工语音Agent评测:从首音延迟到事件级验收的实践指南

1. 项目概述:为什么评测全双工语音 Agent 是个技术活?最近和几个做语音交互的朋友聊天,大家不约而同地提到了一个痛点:自家的全双工语音 Agent 上线后,用户反馈总是“感觉有点慢”、“有时候会抢话”、“反应不太聪明”…

作者头像 李华
网站建设 2026/8/22 11:09:46

腾讯云服务器DD安装Debian 11/Ubuntu 20.04:原理、实战与避坑指南

1. 为什么我们需要在腾讯云上DD系统?如果你在腾讯云上用过CVM或者轻量应用服务器,大概率遇到过这样的场景:官方提供的系统镜像里,Debian版本停留在10(Buster),或者Ubuntu版本是18.04&#xff0c…

作者头像 李华
网站建设 2026/8/22 11:08:40

智能体记忆修复:屏障优先级联修复机制的设计与实现

1. 项目概述:当智能体记忆“生病”时,我们如何修复它?想象一下,你正在训练一个能处理复杂任务的AI智能体,比如一个能帮你规划整个项目、协调多方资源的虚拟助手。这个智能体拥有一个“记忆系统”,用来存储它…

作者头像 李华
网站建设 2026/8/22 11:08:33

UI-TARS 桌面版:一句话 GUI 自动化,快速部署与配置指南

UI-TARS 桌面版:一句话 GUI 自动化,快速部署与配置指南 【免费下载链接】UI-TARS-desktop The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TAR…

作者头像 李华
网站建设 2026/8/22 11:07:21

抗量子硬件钱包:开源EVM钱包的量子安全实践指南

这次我们来看一个面向未来的硬件钱包项目:Quantum-secure open-source hardware wallet for EVM/Ethereum。简单说,这是一个旨在抵御量子计算攻击、完全开源、且专门服务于以太坊及 EVM 兼容链的硬件钱包。对于长期持有加密资产,尤其是担心未…

作者头像 李华
网站建设 2026/8/22 11:07:11

C++模板原理与实战:编译期泛型编程详解

1. 什么是C模板?它到底解决了什么问题?“C模板”这个词,光看标题可能觉得就是个语法糖、一个写起来省事的工具。但我在带新人做项目时发现,90%的人第一次接触模板,不是被编译器报错吓退,就是写出一堆“能跑…

作者头像 李华