23.5.4. uC/OS-III 互斥量例程

23.5.4.1. 概述

该工程演示了uC/OS-III互斥量的使用。

23.5.4.2. 硬件设置

无特殊设置

23.5.4.3. 运行现象

本例程创建了两个任务。这两个任务都会在没有mutex保护的情况下打印一条消息,然后在mutex的保护下再打印一条消息。 如同打印的消息中所描述的,在mutex保护下的两条消息不能出现混合,但是其仍然可以被未被mutex保护的消息所打断。 即:打印2和打印4的语句是互斥的,打印2的过程中不能出现数字4,但是可以出现数字3;打印4的过程中不能出现数字2,但是可以出现数字1。 当工程正确运行后,串口终端会输出如下信息:

This thread will print 3 without mutex protection, and will print 4 within mutex protection.
This thread will print 1 without mutex protection, and will print 2 within mutex protection.


11111111111111111111111111111



22222222222222222222222222222



11111111111111111111111111111



22222222222222222222222222222



3333333333333333333333333333



11111111111111111111111111111



4444444444444444444444444444





222222222
33333333332222222222223333333333322222222

3333333



11111111111111111111111111111



4444444444444444444444444444





222222222
33333333332222222222223333333333322222222

3333333