一、实验目的
1、理解互斥量的基本原理;
2、使用互斥量来达到线程间同步并探索其中的优先级继承问题;
3、在 RT-Thread 中熟练使用互斥量来完成需求。
二、实验内容
- 编写代码实现位标志,线程运行时将标志对应位置 1,并添加到虚拟逻辑分析仪中,观察线程的切换。
- 在 mutex_sample 和 pri_inversion 两个实验代码中添加上述运行位标志,观察分析线程运行过程。在报告中列出程序运行过程以及对应逻辑分析仪截图。
- 在 watch 中添加并设置在主要 mutex API 函数中设置断点。分析 API 嵌套调用关系;分析 mutex 控制结构体 rt_mutex 的状态变化过程。在报告中写出 API 嵌套调用关系和 rt_mutex 的状态变化过程以及相应截图。
- 在 mutex_sample 的基础上,编程实现: 创建 2 个发送任务:每个任务发送 10 的字符。
使用互斥量:可以看到任务 1、任务 2 打印的字符串没有混杂在一起不使用互斥量:任务 1、任务 2 打印的字符串混杂在一起