初识多线程(初初识)

进程

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

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

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

CPU是多核心的

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

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

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

进程包含着线程

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

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

线程

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

好比说

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

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

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

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

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

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

(本质与进程调度相同)

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

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

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

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

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

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

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

进程 与 线程 比较

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

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

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

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

相关推荐
guo_wen_qiang2 小时前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
云飞云共享云桌面3 小时前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
T型码农要学习3 小时前
开源项目5|FileBrowser:免费在线文件管理器!随时随地管控服务器文件
运维·服务器·人工智能·开源
qfljg3 小时前
OpenRewrite 实战指南
java
朱 欢 庆3 小时前
云服务器附件备份到本机内网服务器
运维·服务器·前端·经验分享
Sylvia33.3 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
梦想不只是梦与想3 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
智恒百亿3 小时前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
2601_962071578 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
小诗懂技术8 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络