详解操作系统进程与线程

进程

进程是资源分配的基本单位,拥有独立的内存空间,(如打开文件,堆,静态区,代码段等),就是运行起来的可执行程序,

线程

线程是资源调度的基本单位,也是程序执行的基本单位,共享同一进程的地址空间和大部分资源,独自拥有栈空间,每个进程中有且只有一个主线程,主线程和进程是相互依赖的关系,多提一句:协程是用户态的轻量级线程,线程内部调度的基本单位

进程和线程的区别

1、因为不用重新开辟地址空间,所以线程启动速度快,轻量级

2、线程的系统开销小

3、因为线程共享相同的地址空间和大部分资源,所以安全性不如进程,但是相比之下其通信更为简单,因为资源共享,同时导致线程使用有一定难度,需要处理数据一致性问题

4、进程间通信:管道消息队列信号量共享内存套接字等,借助操作系统,线程间通信:全局变量互斥量条件变量信号量,线程间可以直接读写进程数据段(如全局变量)来进行通信

4、同一线程共享的有堆、全局变量、静态变量、指针,引用、文件等,而独自占有栈

5、上下文切换成本低,线程不需要切换地址空间和大部分系统资源,只需保存和恢复线程的寄存器状态和栈指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值