程序、进程、线程、协程的概念及区别

本文介绍了程序、进程、线程和协程的概念及其区别。程序是指令集合,无运行含义;进程是资源分配单位,具有生命周期;线程是CPU调度基本单位,共享进程资源;协程是轻量级线程,切换快速,适合IO密集型任务。多线程可提高CPU利用率,但管理复杂;单线程则按顺序执行,控制简单。
摘要由CSDN通过智能技术生成

一、概念

  • 程序是一组指令的有序集合,本身并没有任何运行的含义,它只是一个静态的实体。

  • 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。

  • 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程。

  • 协程属于线程,即一个线程下面可以开辟多个协程

二、程序与进程

  • 一个运行中的程序至少有一个进程,一个进程至少有一个线程。
  • 进程有自己的生命周期:因创建而产生,因调度而运行,因等待资源或事件处于等待状态,因完成任务而被撤销,反映了一个程序在一定的数据集上运行的全部动态过程。
  • 程序与进程是一对多的关系,程序在不同的数据集上运行就成为不同的进程。
  • 进程具有并发性和交往性,而程序具有封闭性。

三、进程与线程

  • 一个进程至少有一个线程
  • 进程在执行过程中有独立的运行单元,而多个线程共享内存,极大地提高了程序的运行效率
  • 每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能独立执行,必须依赖在应用程序中,由应用程序提供多个线程执行控制。多线程的意义在于,一个应用程序中,有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值