对 进程,线程,协程-我的一些思索

30 篇文章 0 订阅
20 篇文章 0 订阅

首先先看看定义

   1.进程是一个程序在一个数据集中的一次动态执行过程,可以简单理解为 “正在执行的程序”,它是 CPU 资源分配和调度的独立单位。

   2.线程是在进程之后发展出来的概念。 线程也叫轻量级进程,它是一个基本的 CPU 执行单元,也是程序执行过程中的最小单元,由线程 ID、程序计数器、寄存器集合和堆栈共同组成。一个进程可以包含多个线程。

   3.协程是一种用户态的轻量级线程,又称微线程,英文名 Coroutine,协程的调度完全由用户控制。人们通常将协程和子程序(函数)比较着理解。

与线程比较其优势体现在:

  1. 协程的执行效率非常高。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。
  2. 协程不需要多线程的锁机制。在协程中控制共享资源不加锁,只需要判断状态就好。

   其实进程、线程、协程的区别很明显,从上面的定义上可以看出来他们之间是一个从属关系,进程就是个正在运行的车间,而线程则是这个车间中开的货车,而协程更像是车上的工人,开货车有开有停,效率上会有所损耗,而工人之间工作协作工作没有切换的消耗。(举个列子不知道好不好,但是这是我的一个理解)。

其次线程的生命周期一直是我们关注的点。

上图取自教材上的图,线程的5个状态的转换关系

创建线程 - 线程就绪 - 线程运行 - 线程阻塞 - 线程销毁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值