(通俗易懂 短小精悍)线程 、进程、协程三者区别

线程 、进程、协程三者区别

落霞与孤鹜齐飞,秋水共长天一色。

—— 王勃《滕王阁序》

进程

通俗理解一个运行起来的程序或者软件叫做进程。

  • 每次启动一个进程都需要向操作系统索要运行资源,让进程中的线程去执行对应的代码,进程是操作系统分配资源的基本单位。

  • 默认情况下一个进程只有一个线程,线程是依附在进程里面的, 没有进程就没有线程, 当在进程里面还可以创建多个线程。

  • 如何理解进程: 把进程想成现实生活中的公司,公司可以给员工提供办公资源(办公桌椅,办公电脑等资源), 真正干活的是员工,所以员工可以想成线程,公司就是进程。


进程和线程的对比

  • 进程是操作系统资源分配的基本单位,每启动一个进程都需要向操作系统索要运行资源,默认一个进程只有一个线程,线程是依附在进程里面的

  • 线程是cpu调度的基本单位, 通过线程去执行进程中代码, 线程是执行代码的分支。

  • 多进程开发比单进程多线程开发稳定性要强,但是多进程开发比多线程开发资源开销要大。

  • 多进程开发某个进程死了不会影响其它进程的运行,但是多线程开发该进程死了那么这些线程都要进行销毁。

并发: 任务数大于cpu的核数,多个任务轮流执行,由于cpu切换速度特别快,看起来像是一起运行,其实是假象。

并行: 任务数小于或者等于cpu的核数,那么多个任务是真正意义一起执行。


进程、线程、协程

  • 先有进程,然后进程可以创建线程,线程是依附在进程里面的, 线程里面可以包含多个协程。

  • 进程之间不共享全局变量,线程之间共享全局变量,但是要注意资源竞争的问题。

  • 多进程开发比单进程多线程开发稳定性要强,但是多进程开发比多线程开发资源开销要大。

  • 多线程开发线程之间执行是无序的,协程之间执行按照一定顺序交替执行。

  • 协程以后主要用在网络爬虫和网络请求,开辟一个协程大概需要5k空间,开辟一个线程需要512k空间, 开辟一个进程占用资源最多。



参考地址:
线程 、进程、协程 三者区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值