初识多线程(初初识)

进程

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

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

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

CPU是多核心的

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

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

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

进程包含着线程

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

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

线程

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

好比说

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

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

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

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

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

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

(本质与进程调度相同)

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

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

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

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

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

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

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

进程 与 线程 比较

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

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

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

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

相关推荐
宋拾壹4 分钟前
同时添加多个类目
android·开发语言·javascript
凡人叶枫27 分钟前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
极客先躯33 分钟前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
NE_STOP1 小时前
Raft算法处理细节
java
Java面试题总结1 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
小小龙学IT1 小时前
Go 语言后端开发:从并发模型到生产落地的工程实践
开发语言·后端·golang
努力攻坚操作系统1 小时前
编程语言编译运行机制对比:C / Java / Python
java·c语言·python
●VON1 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
慧一居士1 小时前
对比两个文件内容是否完全一致,java实现示例
java
ytttr8731 小时前
Qt 数字键盘实现
开发语言·qt