FreeRtos-13资源管理

 一、临界资源是什么

要独占式地访问临界资源,有3种方法:
1.公平竞争:比如使用互斥量,谁先获得互斥量谁就访问临界资源,这部分内容前面讲过。
谁要跟我抢,我就灭掉谁:
 2.中断要跟我抢?我屏蔽中断
 3.其他任务要跟我抢?我禁止调度器,不运行任务切换

 

二、暂停调度器

如果有别的任务来跟你竞争临界资源,你可以把中断关掉:这当然可以禁止别的任务运行,但是这代价太大了。它会影响到中断的处理。
如果只是禁止别的任务来跟你竞争,不需要关中断,暂停调度器就可以了:在这期间,中断还是可以发生、处理。

 使用这2个函数来暂停、恢复调度器:

/* 暂停调度器 */
void vTaskSuspendAll( void );
/* 恢复调度器
* 返回值: pdTRUE表示在暂定期间有更高优先级的任务就绪了
* 可以不理会这个返回值
*/
BaseType_t xTaskResumeAll( void );
/****************使用方法***************************/
vTaskSuspendScheduler();
/* 访问临界资源 */
xTaskResumeScheduler();

三、屏蔽中断

这里

相关推荐

  1. 条款13:用对象管理资源(智能指针)

    2024-06-17 08:22:02       22 阅读
  2. FreeRTOS——中断管理

    2024-06-17 08:22:02       44 阅读
  3. FreeRTOS学习——中断管理

    2024-06-17 08:22:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 08:22:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 08:22:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 08:22:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 08:22:02       20 阅读

热门阅读

  1. electron录制工具-视频保存、编辑页面

    2024-06-17 08:22:02       7 阅读
  2. Leetcode 3187. Peaks in Array

    2024-06-17 08:22:02       7 阅读
  3. CentOS下的miniconda3安装

    2024-06-17 08:22:02       6 阅读
  4. jvm工具-jps、jstat、jmap、jstack

    2024-06-17 08:22:02       7 阅读
  5. DAG(有向无环图)-入门基础

    2024-06-17 08:22:02       7 阅读
  6. PostgresSQL测评

    2024-06-17 08:22:02       7 阅读
  7. 苹果新型基于home app的骚扰

    2024-06-17 08:22:02       6 阅读
  8. HTML列表指南:有序、无序与自定义列表的妙用

    2024-06-17 08:22:02       6 阅读