【OS】Process & Thread
2024-09-21 09:40:13
Process | Thread | |
定义 | 资源(CPU、内存等)分配的最小单元,是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 | 程序执行的最小单元,CPU调度和分派的基本单元,每个线程有自己的堆栈和局部变量,在多CPU环境下就允许多个线程同时运行。 |
地址空间 | 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。 | 线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。 |
通信方式 | 进程间通信(IPC)有几种特殊的方式。 | 同一进程下的线程共享全局变量、静态变量等数据,需要通过进程同步、互斥的辅助,以保证数据的一致性。 |
健壮性 | 一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。 | 多线程程序只要有一个线程死掉,整个进程也死掉了。 |
以上
https://blog.csdn.net/zhou753099943/article/details/51771220
最新文章
- 漂亮的CSS按钮样式集以及在线生成工具
- highcharts 当Y轴全部没有数据的时候 数据标签显示最下面 而不是居中显示
- DataGridView 绑定List集合后实现自定义排序
- error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR...
- UVA 11732 strcmp() Anyone? (压缩版字典树)
- python语法笔记(五)
- lightoj1074 最短路
- MyEclipse配置Resin启动报错问题
- iOS的SandBox的结构研究
- memcached采用的网络模型
- [Flexbox] Using flex-direction to layout content horizontally and vertically
- STM32按键控制程序
- Dojo初探之2:设置dojoConfig详解,dojoConfig参数详解+Dojo中预置自定义AMD模块的四种方式(基于dojo1.11.2)
- 19 主线程向子线程发送信息(handler)
- maven 灵活构建
- as3:sprite作为容器使用时,最好不要指定width,height
- hdu4778 状态压缩
- 7.27-8.10 Problems
- 《翻译》PEP 380 – 委托子生成器语法
- [整理]C 内核源代码-学习资料