1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。
二进制信号量只有0和1两个状态,如果信号被一个线程接收,那别的线程就无法接收此信号
计数型信号可以累计,可以被多个线程接收
2.使用计数型信号量完成生产者和消费者模型实验。
分为三个区域,生产信号端,消费信号端和缓冲端,信号先存入缓冲端再被消费端接收,如果没有则接收不到
3.总结FreeRTOS中同步和互斥的五种方法的使用方法
信号量:可以让任务接收信号之后再运行
互斥量:两个任务不能同时执行
递归锁:哪个任务上锁,哪个任务就解锁
事件组:事件组其实就是一个整数,一个整数中有很多个位,每一位都可以表示为一个事件。事件具体表示什么含义可以由我们自己决定,当事件发生后对应的位会被设置为1。
任务通知:任务通知无需创建,可以直接使用,通过任务控制块来实现(TCB),队列、信号量、互斥量、事件组都需要创建后才能使用。
4.总结任务通知和其他任务通信机制的区别
任务通知无需创建可以直接使用,占用内存比其他少,是一对一通信
5.根据文档和录屏学习一下软件定时器,了解软件定时器的作用和软件定时器和硬件定时器的区别
软件定时器可以分为一次性的和周期性的,软件定时器没用硬件精确,占用空间比硬件多但可以创建多个,理论上是无数个