进程、线程、协程的区别

进程与线程的区别:

  • 系统调度和资源拥有:进程是系统资源分配的基本单位,而线程是系统调度和任务执行的基本单位。线程几乎不占有系统资源,但它可以访问隶属进程的系统资源。
  • 系统开销:进程有独立的地址空间,系统会为进程建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,但线程有独立的运行栈和程序计数器(PC)。这就导致进程创建、切换、撤销时的开销都要比线程大。
  • 通信:进程通过IPC进行通信,线程通过读写进程数据段进行通信。线程通信更加方便。

线程和协程的区别:

  • 极高的执行效率:因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显;
  • 不需要多线程的锁机制:因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值