• 设为首页
  • 收藏本站
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航

    [技术文档] 任务、线程、进程 区别

    [复制链接]
    ad*** 发表于 2023-1-13 20:37:33 | 显示全部楼层 |阅读模式

    在多数通用(分时)操作系统(如Linux,Windows)中,常听说线程、进程名词。而在多数实时操作系统(RTOS)(如uCOS,FreeRTOS)中,常听说是任务。它们到底有啥区别和联系呢!看下文。

    概念

    进程(Process)

    是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

    线程(英语:thread)

    是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

    任务

    是指人们在日常生活、工作、娱乐活动中所从事的各种各样有目的的活动。在现代计算机中,“任务”也是基本工作单位,在多数实时操作系统(如uCOS,FreeRTOS)中,是实时操作系统 进行运算调度的最小单位。

    通俗理解
    举例说明:如果把计算机的操作系统比作一个大的工厂。进程就是工厂中的各个相互独立的车间,线程则是车间中的流水线工人。每个车间中至少有一个工人,也可以有多个工人。这些“工人”共享着这个车间中的所有资源。

    像在FreeRTOS中,任务与线程的含义一致,都是 操作系统 进行运算调度的最小单位。在FreeRTOS上跑的整个程序即为一个进程,该进程中又包含着多个线程(任务),这些线程有些是系统自动创建的,有些为用户手动创建。
    ————————————————
    版权声明:本文为CSDN博主「匠在江湖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_46672094/article/details/125332579

       





    回复 打印

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    微信公众号

    官方微信

    手机APP下载

    官方微信

    QQ|手机版|LaTex|MST ( 沪ICP备18043106号-1 )

    Powered by Discuz! X3.5© 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表