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

07-任务调度器的挂起和恢复

数据来源地址:gitee.com

任务调度器的挂起和恢复


1、任务调度器挂起和恢复函数

答:在这里插入图片描述

使用格式示范:

在这里插入图片描述

2、任务调度器挂起和恢复的特点

答:

  1. 与临界区不一样的是,挂起任务调度器,未关闭中断。
  2. 它仅仅是防止任务之间的资源争夺,中断照样可以直接响应。
  3. 挂起任务调度器的方式,适用于临界区位于任务与任务之间;既不用去延时中断响应,又可以做到临界区的安全。

3、挂起任务调度器:vTaskSuspendAll()

答:调用一次挂起调度器,该变量uxSchedulerSuspended就加一 ,变量uxSchedulerSuspended的值,将会影响Systick触发PendSV中断,即影响任务调度。

4、恢复任务调度器:xTaskResumeAll()

答:调用一次恢复调度器,该变量uxSchedulerSuspended就减一 ,如果uxSchedulerSuspended等于0,则允许调度 。

  1. 当任务数量大于0时,恢复调度器才有意义,如果没有一个已创建的任务就无意义。
  2. 移除等待就绪列表中的列表项,恢复至就绪列表,直到xPendingReadyList列表为空。
  3. 如果恢复的任务优先级比当前正在执行任务优先级更高,则将xYieldPending赋值为pdTRUE,表示需要进行一次任务切换。
  4. 在调度器被挂起的期间内,是否有丢失未处理的滴答数。 xPendedCounts是丢失的滴答数,有则调用xTasklncrementTickf() 补齐弄失的滴答数。
  5. 判断是否允许任务切换。
  6. 返回任务是否已经切换;已经切换返回pdTRUE;反之返回pdFALSE。
http://www.xdnf.cn/news/1476469.html

相关文章:

  • 【golang长途旅行第38站】工厂模式
  • 【Linux基础】Linux系统管理:GPT分区实践详细操作指南
  • 深度学习--自然语言预处理--- Word2Vec
  • 网络通信 IO 模型学习总结基础强化
  • 前缀和、子矩阵的和;差分、差分矩阵
  • 交换机详细
  • 软考 系统架构设计师系列知识点之杂项集萃(141)
  • 【LeetCode热题100道笔记】二叉树的层序遍历
  • RTU(远程终端单元)​​ 和 ​​PLC(可编程逻辑控制器)
  • 《AC影》正史模式引争议 育碧回应希望激发历史兴趣
  • 【CF】Day139——杂题 (绝对值变换 | 异或 + 二分 | 随机数据 + 图论)
  • 《用 Python 构建并发 API 爬虫:从基础到高性能实战》
  • Python爬虫实战:研究Axis Artist模块,构建电商数据采集和分析系统
  • Go语言设计模式(三)抽象工厂模式
  • ModelScope概述与实战
  • GitHub 热榜项目 - 日榜(2025-09-06)
  • PowerBI TopN Others
  • tp报错解决
  • 【Gigascience】时空转录组测序探索小鼠心脏发育的细胞与分子基础
  • 留数法分解有理分式
  • Rust在医疗系统中的应用:安全、性能与合规性实践(上)
  • 3.进程调度:常见算法
  • leetcode30.串联所有单词的子串
  • [数据结构] LinkedList
  • c++之基础B(x转10进制,含十六进制)(第四课)
  • 7.网络虚拟化
  • 【开题答辩全过程】以 基于Hadoop电商数据的可视化分析为例,包含答辩的问题和答案
  • Lua和C#比较
  • 分布式go项目-搭建监控和追踪方案补充-ELK日志收集
  • OpenHarmony之有源NFC-connected_nfc_tag模块详解