1FreeRTOS学习(队列、二值信号量、计数型信号量之间的相同点和不同点)

相同点:

     (1)传递区间

         队列、二值信号量、计数型信号量均可用在任务与任务任务与中断之间进行消息传递

     (2) 传递方式

          创建队列--发送队列--接受队列

          创建二值信号量--发送二值信号量--接受二值信号量

          创建计数型信号量--发送计数型信号量--接受计数型信号量

不同点:

     (1)阻塞方式 

          最主要的不同是队列在写队列和读队列过程中均可阻塞,信号量在释放过程中不可阻塞在获取过程中可阻塞。

     (2)从队列概念

              二值信号量相当于队列长度为1的信号量,只有0和1两种状态

              计数型信号量相当于队列长度大于1的信号量

     (3)从数据传递方式

         队列满足先进先出FIFO的数据存储缓冲机制,相当于将数据拷贝到队列中进行传递。

        而二值信号量数据的传递主要应用在互斥访问任务之间的同步,确保在同一时间只有一个任务可以访问共享资源(互斥访问,即确保在同一时间只有一个进程或线程可以访问共享资源)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/58325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UDP(用户数据报协议)端口监控

随着网络的扩展,确保高效的设备通信对于优化网络功能变得越来越重要。在这个过程中,端口发挥着重要作用,它是实现外部设备集成的物理连接器。通过实现数据的无缝传输和交互,端口为网络基础设施的顺畅运行提供了保障。端口使数据通…

技术成神之路:设计模式(二十三)解释器模式

相关文章:技术成神之路:二十三种设计模式(导航页) 介绍 解释器模式(Interpreter Pattern)是一种行为设计模式,用于定义一种语言的文法表示,并提供一个解释器来处理这种文法。它用于处理具有特定语法或表达…

STM32G4 双ADC模式之同时注入模式

目录 概述 1 认识双ADC模式 2 功能实现 2.1 功能介绍 2.2 实现原理 概述 本文主要介绍STM32G4 双ADC模式之同时注入模式的相关内容,包括ADC模块的功能介绍,实现框架结构,以及注入模式ADC的转换的实现原理。 1 认识双ADC模式 双ADC模式可…

Python数据分析NumPy和pandas(十五、pandas 数据加载、存储和文件格式)

大多数时候,我们要处理分析的数据是存储在不同格式的文件中的,有txt、csv、excel、json、xml以及二进制等磁盘文件格式,还有时候是从数据库以及从Web API中交互获取要处理的数据。现在开始学习如何用pandas从以上内容中输入和输出数据。 读取…

CRC校验 生成多项式选取奇次偶次的问题讨论

目录 问题一:为什么CRC校验码不支持偶次校验码? 问题二:如何判断一个生成多项式是否为偶次多项式? 步骤: 示例: 注意: 问题三:CRC32的生成多项式是什么?是偶次还是…

Docker 常用命令全解析:提升对雷池社区版的使用经验

Docker 常用命令解析 Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包到一个可移植的容器中。以下是一些常用的 Docker 命令及其解析,帮助您更好地使用 Docker。 1. Docker 基础命令 查看 Docker 版本 docker --version查看 Docker 运行…

python 爬虫 入门 五、抓取图片、视频

目录 一、图片、音频 二、下载视频: 一、图片、音频 抓取图片的手法在上一篇python 爬虫 入门 四、线程,进程,协程-CSDN博客里面其实有,就是文章中的图片部分,在那一篇文章,初始代码的28,29行…

保姆级教程 | 全流程免费:合并多份长宽不同的PDF成相同大小并进行瘦身

背景 由于老板需要,完成不同PDF文件(a,b,c....)合并,同时要求主文件(A)小于6M。合并过程中发现各个PDF大小(长宽)并不相同,造成合并后效果不好也…

Vue3 学习笔记(八)Vue3 语法-Class 与 Style绑定详解

在 Vue.js 中,动态地绑定 CSS 类和样式是一项常见的需求。Vue 提供了几种不同的方法来实现这一点,包括对象语法、数组语法和组件的作用域插槽。 以下是这些方法的详细说明: 一、Class 绑定 1、对象语法 对象语法允许根据表达式的真值动态地切…

java知识管理系统源码(springboot)

项目简介 知识管理系统实现了以下功能: 知识管理系统的主要使用者分为管理员和用户两个角色。管理员功能有个人中心,用户管理,文章分类管理,文章信息管理,资料分类管理,资料下载管理,问答管理…

信捷 PLC C语言 定时器在FC中的使用

传统梯形图的定时器程序写起来简单,本文用C语言写定时器的使用。 定时器在c语言中使用,和普通梯形图中使用的区别之一是既有外部条件,也有内部条件。 1.建全局变量 2.建立FC POU 这个是功能POU程序。 这里的Enable是内部条件 3.调用包含定…

重写(外壳不变)

重写:是子类对父类非静态、非private修饰、非final修饰、非构造方法等的实现过程进行重新编写返回值和形参都不能改变。 重写的好处:子类可以根据需要,定义专属于自己的行为。(子类能够根据需要实现父类的方法) 方法…

大数据日志处理框架ELK方案

介绍应用场景大数据ELK日志框架安装部署 一,介绍 大数据日志处理框架ELK(Elasticsearch、Logstash、Kibana)是一套完整的日志集中处理方案,以下是对其的详细介绍: 一、Elasticsearch(ES) 基本…

Golang | Leetcode Golang题解之第515题在每个树行中找最大值

题目: 题解: func largestValues(root *TreeNode) (ans []int) {if root nil {return}q : []*TreeNode{root}for len(q) > 0 {maxVal : math.MinInt32tmp : qq nilfor _, node : range tmp {maxVal max(maxVal, node.Val)if node.Left ! nil {q …

怎么理解ES6 Proxy

Proxy 可以理解成,在目标对象之前架设一层 “拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来 “代理…

前端知识串联笔记(更新中...)

1.MVVM MVVM 是指 Model - View - ViewModel,Model 是数据与业务逻辑,View 是视图,ViewModel 用于连接 View 和 Model Model ---> View:将数据转化成所看到的页面,实现的方式:Data Bindings -- 数据绑定…

.NET Core WebApi第6讲:WebApi的前端怎么派人去拿数据?(区别MVC)

一、前端界面小基础 head:引入CSS, 引入JS是写在head里面。 body:眼睛肉眼能看到的用户展示的界面是写在body里面。 二、前端怎么派人去拿数据? 1、MVC:前后端不分离,MVC相比WebApi只是多了一个views的文件夹 &am…

Spring boot 配置文件的加载顺序

Spring Boot 在启动时会扫描以下位置的 application.properties 或者 application.yml 文件作为全局配置文件: –file:./config/–file:./–classpath:/config/–classpath:/以下是按照优先级从高到低的顺序,如下所示: Spring Boot 会全部扫…

分类预测|基于GWO灰狼优化K近邻KNN的数据分类预测Matlab程序 多特征输入多类别输出GWO-KNN

文章目录 一、基本原理原理流程总结 二、实验结果三、核心代码四、代码获取五、总结 一、基本原理 灰狼优化(GWO,Grey Wolf Optimization)是一种基于灰狼社会行为的优化算法,常用于解决各种优化问题。将GWO应用于K近邻&#xff0…

『完整代码』宠物召唤

创建脚本并编写:PetFollowTarget.cs using UnityEngine; public class PetFollowTarget : MonoBehaviour{Transform target;float speed 2f;Animator animator;void Start(){target GameObject.Find("PlayerNormal/PetsSmallPos").gameObject.transform…