操作系统x面试|进程与线程

1. 线程进程的区别

进程可以称为是资源分配的最小单元,而线程可以称为是处理器分配的最小单元。

资源包括内存空间。同时进程是一段代码的执行过程,这段代码需要多少的内存在代码确定时已经确定下来了。

处理器就是执行单元,一个进程可以拆解成多个线程,从而这多个处理器可以并发对进程做出处理。

进程间的数据是隔开的。而线程间会有公共的数据段可以让大家共同进行使用。

而这也使得进程相对进程更具有安全性。一旦一个进程崩溃,它并不会影响到其他进程的执行。

2. 怎么对进程和线程进行选择。

从频繁创建和销毁的角度,由于进程和线程所需的资源不太一样,进程包括线程,创建和销毁进程所需的代价更大,所以从这个角度要选择进程来进行使用。

3.多线程一般用在哪些地方

高并发

4.多线程的优点

线程可以是并发的关系,于是,可以同时推动多个任务,当一个线程遇到故障时,可以将其调入后台进入阻塞态,将一个处于就绪队列的线程拉入到运行态,从而灵活运用处理器资源。

5.多线程的缺点

线程本身占用资源,线程越多占用的资源越多。

线程越多,关系越复杂,处理起来越麻烦。

由于线程切换上下文需要占用资源,所以多线程会带来更多的时间损耗。

【字节一面------说下进程和线程的区别?】https://www.bilibili.com/video/BV1ng4y1s7uq?vd_source=ee26820969f074be2fbc8630256b9aff

相关推荐
怕浪猫8 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
leikooo10 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
Ivanqhz11 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
沙漠之主11 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
FPGA小徐11 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络
YOLO数据集集合12 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化
无名猿12 小时前
unique_ptr 完全指南:独占所有权与零开销
c++·性能优化·内存管理·标准库·现代c++
知行EDI12 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
笑鸿的学习笔记12 小时前
C++笔记之大块顺序写
java·c++·笔记
打工仔折腾 AI12 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战