线程和进程的区别与联系

本文介绍了进程和线程的区别,包括它们的定义、内存空间、独立性和通信效率。进程是操作系统的基本单位,而线程是执行的最小单位。线程在同一个进程下共享资源,导致其创建和上下文切换成本较低。上下文切换涉及到保存和加载线程状态。为了减少上下文切换,可以采用单线程、协程、无锁并发编程等策略。守护线程在所有其他线程结束后仍会运行,如垃圾回收线程。线程执行涉及类加载、方法区、栈帧和程序计数器等概念。
摘要由CSDN通过智能技术生成

进程和线程的区别和联系

区别1(定义):
进程:操作系统资源分配的基本单位
线程:CPU任务调度的最小单位


区别2(内存空间/独立性):

  • 创建一个新的进程必须分配给它独立的地址空间 有自己独立的数据表来维护代码 段堆栈段和数据段等
  • 线程没有独立的地址空间 但是使用一个地址空间共享数据 自己独立的运行程序计数器(PC)
  • 进程比线程独立 进程死亡不影响其他进程
    而线程依赖于进程而存在,崩溃时一个线程死掉就等于整个进程死掉

区别3(通信):
由2可见,线程之间通信更方便,同一个进程下,线程共享全局变量,静态变量等数据,进程之间的通信需要以通信的方式(IPC)进行


区别4(效率 性能):
进程间彼此独立,进程的上下文切换比线程花费大
因为在同一个进程下共享资源,创建线程比进程的花销
线程占用的资源比进程少 响应速度


联系:线程是轻量级的进程 一个进程由多个线程组成
同属一个进程的线程共享进程的全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值