news 2026/9/3 5:31:40

多线程1——多线程概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多线程1——多线程概述

一、多线程

1. 区分进程与线程

进程(Process):可以理解为一个正在运行的程序实例。它是操作系统进行资源分配的基本单位,拥有独立的内存空间、文件描述符、系统资源等。

线程(Thread):是进程内部的一个执行单元,是操作系统进行任务调度的基本单位。一个进程可以包含多个线程,这些线程共享进程的资源。

特性进程线程
资源分配操作系统分配资源的基本单位操作系统调度执行的基本单位
内存空间独立的地址空间,隔离性强共享进程的地址空间
创建/销毁开销大(需分配独立内存、文件句柄等)小(共享进程资源,只需独立栈和寄存器)
通信方式需要进程间通信(IPC)机制直接读写共享内存(但需同步机制)
崩溃影响一个进程崩溃不影响其他进程一个线程崩溃可能导致整个进程崩溃
切换开销大(需切换整个进程上下文)小(只需切换线程上下文)

🏢 进程 = 独立公司

👷 线程 = 公司内部的员工

2. 什么是多线程?

想象你正在开一家"奶茶店",这个店就是进程。而店里的员工就是线程

多线程就是让你的奶茶店可以同时让多个员工(线程)一起工作,而不是只让一个人(单线程)忙得团团转。

从技术角度看:

多线程是指在一个程序中同时运行多个执行流(线程),这些线程共享进程的资源(如内存、文件),但各自有独立的执行路径。

就像你店里,一个员工在做奶茶(线程1),另一个在洗杯子(线程2),第三个在收银(线程3),大家同时工作,效率大大提高。

3. 多线程的作用

1️⃣ 提升效率,像"多手同时干活"

  • 单线程:你一个人做奶茶,洗杯子,收银,忙得不可开交
  • 多线程:三个人各司其职,同时完成多项任务

"多线程不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。"——《多线程百度百科》

2️⃣ 提升用户体验,告别"卡顿"

想象你在用手机APP点奶茶:

  • 单线程:你点单后,整个APP都卡住了,等你点单完成才能继续用
  • 多线程:点单操作在后台进行,你还能继续刷朋友圈、看视频

3️⃣ 充分利用多核CPU,像"多核处理器的超能力"

现代电脑CPU就像"多核处理器",多线程能让这些"核"都动起来,而不是只用一个核。

"CPU多线程技术可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。"——《CPU多线程百度百科》

4. 多线程的典型应用场景

🧁 1. 后台异步任务(奶茶店的"自动续杯")

  • 桌面应用:Word的自动保存(不用等保存完成就能继续打字)
  • 移动App:图片上传、消息推送(上传图片时还能继续聊天)
  • Web后端:发送邮件、短信(发邮件时还能处理其他请求)

"多线程可以将耗时的操作放在后台线程执行,不阻塞主线程。"

🌐 2. 高并发服务器(奶茶店的"千人排队")

  • Web服务器:Tomcat、Nginx等处理大量用户请求
  • 游戏服务器:同时服务成百上千个玩家
  • 即时通讯:微信、QQ等应用处理大量消息

"一个主线程负责监听客户端连接,每当有新连接到来,就创建一个新线程专门处理这个客户端的请求。"

🎮 3. 实时游戏(奶茶店的"多任务处理")

  • 一个线程处理用户输入(点单)
  • 一个线程进行物理计算和逻辑更新(奶茶制作过程)
  • 一个线程负责渲染画面(展示奶茶成品)
  • 一个线程负责网络同步(与朋友分享奶茶)

"实时游戏需要多线程来实现流畅体验。"

📊 4. 并行计算(奶茶店的"批量制作")

  • 大数据处理:Hadoop/Spark的MapReduce
  • 科学计算:矩阵运算、模拟仿真
  • 图像/视频处理:滤镜、编码

"将大任务拆分为小任务,分发给多个线程并行计算,最后汇总结果。"

⏰ 5. 定时任务(奶茶店的"自动补货")

  • 监控系统:心跳检测
  • 系统维护:定期清理临时文件
  • 数据统计:报表生成

"使用ScheduledExecutorService可以方便地创建在特定时间延迟后或周期性执行的线程任务。"

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

Espanso文本扩展器完全手册:5个技巧让你的输入效率翻倍

Espanso文本扩展器完全手册:5个技巧让你的输入效率翻倍 【免费下载链接】espanso Cross-platform Text Expander written in Rust 项目地址: https://gitcode.com/gh_mirrors/es/espanso 你是否曾经在重复输入同样的地址、签名或代码片段时感到厌倦&#xff…

作者头像 李华
网站建设 2026/9/3 3:39:20

终极U盘量产工具:Chipsbank APTool V7200快速修复与批量生产完整指南

终极U盘量产工具:Chipsbank APTool V7200快速修复与批量生产完整指南 【免费下载链接】ChipsbankAPTool量产工具V72002020-00-21 Chipsbank APTool量产工具是专门针对Chipsbank生产的USB控制芯片设计的一款强大工具。本版本V7200发布于2020年2月21日,针对…

作者头像 李华
网站建设 2026/9/2 1:42:42

Kotaemon助力制造业知识管理数字化转型

Kotaemon助力制造业知识管理数字化转型在一家大型汽车零部件工厂的车间里,一位刚上岗的年轻操作员面对一台突然报错停机的数控机床手足无措。他没有呼叫主管,也没有翻找厚厚的操作手册,而是打开手机上的一个小程序,轻声问&#xf…

作者头像 李华
网站建设 2026/9/2 9:38:06

Kotaemon气象数据问答:天气预报精准推送

Kotaemon气象数据问答:天气预报精准推送在一场突如其来的雷暴即将侵袭城市前,一位快递员收到了一条简洁提醒:“未来25分钟内您所在区域将有强降雨,建议暂停派送。”与此同时,远在郊区的果园管理者也接到通知&#xff1…

作者头像 李华
网站建设 2026/9/2 15:59:25

【收藏向】AI大模型系统学习路线:从入门到进阶,小白程序员必看指南

对于想要入门AI大模型领域的小白,或是希望转型深耕的程序员来说,一套清晰、系统的学习路线至关重要。本文整理了从基础铺垫到进阶应用的完整大模型学习体系,每个阶段都搭配了经典书籍、优质课程、实战项目,还补充了社区交流与持续…

作者头像 李华
网站建设 2026/9/2 7:44:49

专为初学者设计的无光标操作入门指南,通过5个渐进式练习帮助用户逐步摆脱鼠标依赖,培养高效键盘操作习惯。

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式无光标操作学习应用,包含:1. 基础键位练习游戏 2. 常用快捷键记忆卡片 3. 渐进式挑战任务 4. 实时操作反馈系统 5. 成就奖励机制。要求界面友…

作者头像 李华