.. zephyr:code-sample:: cmsis-rtos-v1-sync :name: Synchronization using CMSIS RTOS V1 APIs Use timers and message queues from CMSIS RTOS v1 API to synchronize threads. Overview ******** The sample project illustrates usage of timers and message queues using CMSIS RTOS V1 APIs. The main thread creates a preemptive thread which writes message to message queue and on timer expiry, message is read by main thread. Building and Running Project **************************** This project outputs to the console. It can be built and executed on QEMU as follows: .. zephyr-app-commands:: :zephyr-app: samples/philosophers :host-os: unix :board: qemu_x86 :goals: run :compact: Sample Output ============= .. code-block:: console Wrote to message queue: 5 Read from message queue: 5 Wrote to message queue: 6 Read from message queue: 6 Wrote to message queue: 7 Read from message queue: 7 Wrote to message queue: 8 Read from message queue: 8 Wrote to message queue: 9 Read from message queue: 9 Wrote to message queue: 10 Read from message queue: 10 Wrote to message queue: 11 Read from message queue: 11 Wrote to message queue: 12 Read from message queue: 12 Wrote to message queue: 13 Read from message queue: 13 Wrote to message queue: 14 Read from message queue: 14 Wrote to message queue: 15 Read from message queue: 15 Sample execution successful Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.