初识多线程(初初识)

进程

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

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

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

CPU是多核心的

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

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

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

进程包含着线程

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

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

线程

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

好比说

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

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

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

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

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

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

(本质与进程调度相同)

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

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

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

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

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

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

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

进程 与 线程 比较

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

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

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

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

相关推荐
小席是个热心肠6 分钟前
AI相关的自我学习
java·人工智能·学习
波波00712 分钟前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
知无不研2 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
数智化管理手记2 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
隔窗听雨眠3 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
cfm_29143 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统4 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
C++ 老炮儿的技术栈4 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_448011164 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据4 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具