当前位置: 首页 > news >正文

FREERTOS的三种调度方式

一、调度器的调度方式

调度器的调度方式解释针对的对象
抢占式调度1.高优先级的抢占低优先级的任务 2.高优先级的任务不停止,低优先级的任务不能执行 3.被强占的任务会进入就绪态优先级不同的任务
时间片调度1.同等优先级任务轮流享用CPU时间 2.没有用完的时间片,下次该任务仍使用1个时间片 3.1个时间片指的是1个滴答时钟的中断周期优先级相同的任务

二、FREERTOS里的任务状态

FREERTOS里的任务状态解释
运行态mcu正在运行的任务(STM32同一时间只运行一个任务)
就绪态一个任务已经准备好被执行了,但是当前还未被执行
阻塞态正在延时或者正在等待外部事件的任务,处于阻塞态
挂起态得调用函数才能进入挂起态。挂起函数:vTaskSuspend(); 解挂函数:vTaskResume();解挂后进入就绪态
  • 阻塞态想进入运行态,必须先转成就绪态,在进入运行态

三、任务状态列表

任务状态列表解释
就绪列表pxReadyTasksLists[x],x表示任务优先级。调度器从31到零,挨个检索,如果优先级变为1的话代表该优先级有任务。
阻塞列表pxDelayedTaskList
挂起列表xSuspendedTaskList
http://www.dtcms.com/a/44001.html

相关文章:

  • 微服务架构实践:SpringCloud与Docker容器化部署
  • 从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(七) 主题设置
  • 【Tomcat】
  • 基于Ubuntu2410部署LobeChat服务端数据库版本
  • 5-1JVM内存区域
  • 【记录】成为创作者的第 730 天(两年)
  • LeetCode 解题思路 7(Hot 100)
  • 【Java基础】Java 中 的`final` 关键字
  • Cocos Creator3.8.6拖拽物体的几种方式
  • rust学习笔记8-枚举与模式匹配
  • 使用Pycharm创建第一个Python程序
  • Maven入门教程
  • AI在投资和金融领域有什么用法和提示词
  • Redis持久化方案RDB和AOF
  • 零信任架构
  • C语言408考研先行课第一课:数据类型
  • 一个基于vue3的图片瀑布流组件
  • FFmpeg av_read_frame 和iOS系统提供的 AVAudioRecorder 实现音频录制的区别
  • redis开启过期监听
  • 《CWAP-404》,第一章:802.11 协议(1.1~1.3)
  • 搭建gn环境踩坑存档
  • 网络原理---TCP/IP
  • Windows对比MacOS
  • 头歌实验---C/C++程序设计:实验三:选择结构程序设计进阶
  • <Revit二次开发>详细介绍Autodesk.Revit.DB.HostObject类的FindInserts 方法
  • Java 大视界 —— Java 大数据在智慧能源微电网能量管理中的关键技术(100)
  • TVbox蜂蜜影视:智能电视观影新选择,简洁界面与强大功能兼具
  • 如何在 WPS 中集成 DeepSeek
  • 工程化与框架系列(11)--Serverless实践
  • ES、OAS、ERP、电子政务、企业信息化(高软35)