4/4 清明work

2024-04-04 00:20
文章标签 work 清明

本文主要是介绍4/4 清明work,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。


二进制信号量:最快的最常用的信号量,可用于同步或互斥。
二进制信号量能够满足任务间的互斥和同步,需要
的系统开销最小,因此也称快速信号量。二进制信
号量可以看成一个标志,对应资源是可用还是不可
用。当一个任务调用semTake ()请求一个信号量时
,如果此时信号量可用,信号量会被清零,并且任务
立即继续执行;如果信号量不可用,任务会被阻塞来
等待信号量。
计数信号量:类似于二进制信号量,但是随信号量释
放的次数改变而改变。计数器信号量是实现任务同步
和互斥的另一种手段,在具体实现上有点差异。计数器
信号量除了像二进制信号量那样工作外,还保持对信号
量释放次数的跟踪。


2.使用技术型信号量完成生产者和消费者模型实验。

for(;;){//share_data=1;printf("shop is ok\r\n");osThreadFlagsSet(myEvent01Handle,SHOP);osDelay(500);printf("wash is ok\r\n");osThreadFlagsSet(myEvent01Handle,WASH);osDelay(500);;printf("cook is ok\r\n");osThreadFlagsSet(myEvent01Handle,COOK);osDelay(500);;
}for(;;){printf("I want to eat\r\n");osThreadFlagsWait(SHOP| WASH|COOK,osFlagsWaitAll,osWaitForever);printf("go to eat\r\n");osDelay(500);}

3.总结FreeRTOS中同步和互斥的五种方法的使用方法

队列、信号量、互斥量、事件组、任务通知。


4.总结任务通知和其他任务通信机制的区别


队列、信号量、互斥量、事件组在使用之前都需要先创建,才能使用。
任务通知无需创建即可使用。
队列、信号量、互斥量、事件组  多对多通信。
任务通知是多对一通信。(只需要知道要通知的任务ID即可)
队列、信号量、互斥量、事件组需要被创建,所以消耗的资源也是比较多。
任务通知不需要被创建消耗的资源少。


5.根据文档和录屏学习一下软件定时器,了解软件定时器的作用和软件定时器和硬件定时器的区别


一般硬件定时器集成在CPU的内部,有的可以使用外置的硬件定时器芯片,可以人
为通过编程来设置硬件定时器的工作频率,硬件定时器一旦设定好了工作频率,只要
上电,那么硬件定时器就会周期性的给CPU输出一个中断信号,称这个中断信号为时
钟中断,linux内核已经实现好了时钟中断对应的服务程序,这个服务程序也称之为
时钟中断服务函数,既然硬件定时器周期性的给CPU产生时钟中断,那么对应的中断
服务程序就会被内核周期性的调用
软件定时器是在硬件定时器基础之上出来的定时器,可以由一个硬件定时器模拟出成千
上万个软件定时器,这样程序在需要使用较多定时器的时候就不会受限于硬件资源的不
足,这是软件定时器的一个优点,即数量不受限制。但由于软件定时器是通过程序实现
的,其运行和维护都需要耗费一定的CPU资源,同时精度也相对硬件定时器要差一些。
 

这篇关于4/4 清明work的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874359

相关文章

xamarn.android binding parse sdk for a week to work

Xamarin.Android PackageName 需要设置为项目命名空间且全小写。 http://blog.csdn.net/jameszhou/article/details/41806377

SharePoint At Work----SharePoint Data View Web Part

添加DVWP(数据视图Web部件) 1. SharePoint Designer中打开页面,光标放置在要添加DVWP的地方。建议使用拆分模式。 2. 插入----数据视图----空白数据视图。         如果你选择了某个列表或库,你将得到一个XLV而不是DVWP。         你将看到页面上你的DVWP。现在你只有DVWP的外壳,它声明其主要特征。典型的外壳可能

DC综合——Work目录整理

DC综合——Work目录整理 源起 DC流程的工程目录需要重新整理。 其中一个比较不优雅的现象是,综合过程中,工作目录下会有很多临时的文件,比如:*.mr,*.pvl,*.syn等类型的文件。 设计比较少的时候还可以接受这种不优雅。 但是设计源文件一多,那么目录下的文件也会非常多。 虽然不影响流程,但看着那么多的文件就很烦,找其他的文件也不好找,难以接受。 尝试了几个方法,终于在最后

boost库asio详解3——io_service作为work pool

无论如何使用,都能感觉到使用boost.asio实现服务器,不仅是一件非常轻松的事,而且代码很漂亮,逻辑也相当清晰,这点上很不同于ACE。 使用io_service作为处理工作的work pool,可以看到,就是通过io_service.post投递一个Handler到io_service的队列,Handler在这个io_service.run内部得到执行,有可能你会发现,io_services.

openwrt su : must be suid to work properly

嵌入式文件系统一般用户执行 su root 切换根用户会提示错误 su: must be suid to work properly 是由于 busybox 的权限引起的,需要将 busybox 的权限改为 4755 。 而在 openwrt 中,直接修改 staging_dir/target-mipsel_24kec+dsp_glibc-2.21/root-ramips/bin/ 下的 bu

【区块链】深入解析Proof of Work (PoW): 区块链技术的核心驱动力

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 深入解析 Proof of Work (PoW): 区块链技术的核心驱动力引言一、PoW基本概念1.1 定义1.2 工作原理 二、PoW的优势2.1 去中心化2.2 安全性2.3 抗通胀保障 三、面

New Work-flow of Circuit Bootstrapping

参考文献: [CGGI17] Chillotti I, Gama N, Georgieva M, et al. Faster packed homomorphic operations and efficient circuit bootstrapping for TFHE. ASIACRYPT 2017 (1): 377-408.[CDKS21] Chen H, Dai W, Kim M, e

Time, Delays, and Deferred Work LDD3 学习笔记 + jiffies.h 分析

Time, Delays, and Deferred Work  Dealing with time involves the following tasks, in order of increasing complexity: • Measuring time lapses and comparing times • Knowing

SpringBoot导入异常:The temporary upload location [/tmp/tomcat.135042057.80/work/Tomcat/localhost/ROOT]

springboot项目一个导入功能突然报错: Servlet.service() for servlet [dispatcherServlet] in context with path [/cloud-disk] threw exception [Request processing failed; nested exception is org.springframework.web.mu

[work] AI算法八股总结

一、深度学习面试宝典 amusi/Deep-Learning-Interview-Book: 深度学习面试宝典(含数学、机器学习、深度学习、计算机视觉、自然语言处理和SLAM等方向) (github.com)https://github.com/amusi/Deep-Learning-Interview-Book 深度学习八股https://github.com/nxpeng9235/Mac