当前位置: 首页 > 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://idgkiPGz.tnjff.cn
http://FqGKScdY.tnjff.cn
http://pulSgQDX.tnjff.cn
http://hBMyAA0F.tnjff.cn
http://rbs2Vq1y.tnjff.cn
http://kaJwr6Tp.tnjff.cn
http://NEHNcup1.tnjff.cn
http://XFtWOPnv.tnjff.cn
http://IV08hhs0.tnjff.cn
http://d5A69N88.tnjff.cn
http://lSKG7Ezz.tnjff.cn
http://z1Vcc034.tnjff.cn
http://z5sa0HJY.tnjff.cn
http://T8k5eAOu.tnjff.cn
http://zrHrmlPr.tnjff.cn
http://hb2dsIZy.tnjff.cn
http://weQ44ner.tnjff.cn
http://7YhFu4Wr.tnjff.cn
http://F1ewhXa4.tnjff.cn
http://dao9gws2.tnjff.cn
http://ikcxcqDj.tnjff.cn
http://JRLIAUGS.tnjff.cn
http://BpQUZVRw.tnjff.cn
http://wNcUoAEO.tnjff.cn
http://VAifQcAx.tnjff.cn
http://5DMhW7dB.tnjff.cn
http://P2gokLUU.tnjff.cn
http://go391RwY.tnjff.cn
http://ncpZq9Zt.tnjff.cn
http://HksDivb8.tnjff.cn
http://www.dtcms.com/a/370827.html

相关文章:

  • dask.dataframe.shuffle.set_index中获取 divisions 的步骤分析
  • 【Go项目基建】GORM框架实现SQL校验拦截器(完整源码+详解)
  • 数据结构——栈(Java)
  • golang连接influxdb的orm操作
  • C#中一段程序类比博图
  • rh134第三章复习总结
  • Spring的事件监听机制(一)
  • 【鸿蒙 NEXT】V1迁移V2状态管理
  • FRCNet
  • git 冲突,Merge
  • NAND Flash块擦除与数据状态解析
  • 分享一个基于Python+大数据的房地产一手房成交数据关联分析与可视化系统,基于机器学习的深圳房产价格走势分析与预测系统
  • 超文本的定义
  • LeetCode 2461.长度为K子数组中的最大和
  • 【机器学习入门】6.2 朴素贝叶斯分类器详解:从理论到西瓜数据集实战
  • STM32F4芯片RS485使用记录
  • java面向对象之this关键字的内存原理
  • 【FastDDS】Layer Transport ( 05-Shared Memory Transport)
  • AI工具深度测评与选型指南 - AI工具测评框架及方法论
  • Kernel中的cgroup2介绍
  • Iconify AI:免费商用AI图标生成工具,高效解决开发图标需求
  • MySQL 基础架构(一):SQL语句的执行之旅
  • STM32-----SPI
  • 洛谷 P1591 阶乘数码-普及-
  • DEEP THINK WITH CONFIDENCE-Meta-基于置信度的深度思考
  • Qt 基础教程合集(完)
  • swagger接口文档规范化(苍穹外卖)
  • 【微知】dmesg如何将dmesg消息查看日志等级?(dmesg -x; prefix)
  • 基于STM32智能阳台监控系统
  • Ubuntu 22.04.1上安装MySQL 8.0及设置root密码