初识多线程(初初识)

进程

在操作系统 进程有着举足轻重的位置

无论创建进程 或者 销毁进程时 这里的开销就会变得会很大

多任务操作系统 是一种允许同时运行多个程序或进程的操作系统。这些任务可以并发执行

CPU是多核心的

通过 多进程 可实现 并发编程

并发编程涉及多个任务在同一时间段内交替执行

核心目标包括提高资源利用率、降低延迟、增强系统吞吐量。

进程包含着线程

进程是操作系统分配资源的基本单位

进程 管辖着许多线程 共享 着 CPU 内存资源 和 硬盘资源等等

线程

由于进程的开销过大 所以在此基础上 建立了 轻量级的 线程**(** 开销相比小**)**

好比说

每一个进程相当于是一个任务

每一个线程相当于是一个任务中的****一段指令

对于线程 当第一个线程建立时 会申请资源 在后续中不再会身申请资源

只有所有的线程使用完后 都被释放掉后 (进程销毁) 只有其中一两个也不会释放资源

线程在CPU的一系列执行过程中 称为 线程调度、

线程调度中也有着 线程状态 线程优先级 线程上下文 线程记账信息

(本质与进程调度相同)

线程是CPU上调度执行的基本单位

但在一个 进程 中 有10个 线程 就会有这样10份数据 可以10个 线程共享 一个 内存指针 文件描述表

线程 与 进程 之间所涉及到的 资源都是互不干涉的

多进程方案中 确实提高性能 但是在一定的范围内

1.当线程过于多时 有时会适得其反 反而可能因为调度开销又在降低了性能

2.多个线程还会有可能处理同一个 这里会产生线程安全问题/线程不安全

3.线程抛出异常 但是未捕捉到 可能导致整个进程崩溃

进程 与 线程 比较

进程 是包含线程的.每个进程 ⾄少有⼀个线程存在,即主线程。

进程 和 进程之间不共享内存空间.同⼀个进程的线程之间共享同⼀个内存空间。

进程 是 系统分配资源 的 最⼩单位,线程 是 系统调度 的 最⼩单位。

⼀个进程挂了⼀般不会影响到其他进程.但是⼀个线程挂了,可能把同进程内的其他线程⼀起带⾛(整 个进程崩溃)。

相关推荐
心平气和量大福大7 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai7 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
维天说7 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
এ慕ོ冬℘゜7 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa7 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
Zhang~Ling7 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
一次旅行7 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化
爱写代码的阿森8 小时前
鸿蒙三方库 | harmony-utils之PreferencesUtil首选项数据监听详解
服务器·华为·harmonyos·鸿蒙·huawei
爱写代码的森8 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
Zane19948 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端