进程与线程

面试的时候经常被问到的一个问题就是“进程与线程的区别有哪些?”这属于操作系统的基础知识。我整理了一些出来,和大家分享。

  • 进程(作业)顾名思义就是进行中的程序,它除了程序代码段以外,还包含堆栈段(包括临时数据,如函数参数、返回地址、局部变量)和数据段(全局变量)。进程还可能包括堆,是在进程运行期动态分配的内存。
  • 线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器组合和栈组成。它与属于同一进程的其它线程共享代码段、数据段和其它操作系统资源,如打开文件和信号。多线程编程的4个优点①响应度高:部分阻塞,该程序仍能执行。②资源共享:线程默认共享它们所属进程的内存和资源。③经济:进程创建的资源消耗量更大。④多处理器体系结构的利用:每个线程并行运行在不同处理器上,增强并发功能。
进程和线程的区别

  1. 线程是进程的一部分。
  2. 进程是资源分配的基本单位,拥有一个完整的虚拟空间地址。
  3. 系统在运行时为每个进程分配不同的内存区域,但是不会为线程分配内存。线程则共享其所属的进程的资源。
  4. 与进程控制表PCB相似,线程也有自己的控制表TCB,但是TCB保存的线程状态比PCB表中少多了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值