2024.4.19作业

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

二进制信号量只有0和1两个状态,如果信号被一个线程接收,那别的线程就无法接收此信号

计数型信号可以累计,可以被多个线程接收


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

分为三个区域,生产信号端,消费信号端和缓冲端,信号先存入缓冲端再被消费端接收,如果没有则接收不到


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

信号量:可以让任务接收信号之后再运行

互斥量:两个任务不能同时执行

递归锁:哪个任务上锁,哪个任务就解锁

事件组:事件组其实就是一个整数,一个整数中有很多个位,每一位都可以表示为一个事件。事件具体表示什么含义可以由我们自己决定,当事件发生后对应的位会被设置为1。

任务通知:任务通知无需创建,可以直接使用,通过任务控制块来实现(TCB),队列、信号量、互斥量、事件组都需要创建后才能使用。

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

任务通知无需创建可以直接使用,占用内存比其他少,是一对一通信

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

软件定时器可以分为一次性的和周期性的,软件定时器没用硬件精确,占用空间比硬件多但可以创建多个,理论上是无数个

相关推荐

  1. 软件1班20240419

    2024-04-22 12:48:01       35 阅读
  2. 作业..........

    2024-04-22 12:48:01       55 阅读
  3. 20240203作业

    2024-04-22 12:48:01       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 12:48:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 12:48:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 12:48:01       82 阅读
  4. Python语言-面向对象

    2024-04-22 12:48:01       91 阅读

热门阅读

  1. css3中有哪些伪类?

    2024-04-22 12:48:01       36 阅读
  2. (JDK11)根据文件的Url输出该文件的Base64

    2024-04-22 12:48:01       31 阅读
  3. Python与设计模式之桥接模式的那些事儿

    2024-04-22 12:48:01       40 阅读
  4. android gradle引入其他gradle文件

    2024-04-22 12:48:01       37 阅读
  5. SystemC 等待异步事件解决方案

    2024-04-22 12:48:01       44 阅读
  6. 常见DNS故障和问题解决过程

    2024-04-22 12:48:01       32 阅读
  7. Linux命令学习—Apache 服务器(下)

    2024-04-22 12:48:01       37 阅读
  8. 星期一(蓝桥杯)

    2024-04-22 12:48:01       36 阅读