The example demonstrates the usage of common components of the MQX RTOS for synchronizing tasks including the semaphore, mutex, message, event and theRound Robin scheduling component.

The example defines 11 different tasks and context switch between tasks is examined in order for the user to understand how MQX task scheduler functions. With regards to the priority tasks are assigned into three groups with priority levels 9, 10 and 11 respectively. Also semaphore, mutex, message and event are used to block or run different tasks at specific moment in time.

For demonstration purpose of scheduling components only one task outputs simple dot character to the terminal output. The user needs to use the task aware debugging (TAD) component of the IDE to examine the state of different tasks in time and the dependence of tasks on the scheduling components.