Basic example showing the Mutex API

Dependencies:   mbed-rtos mbed

mbed 2 and mbed OS 5

This is an mbed 2 example. mbed OS 5 has integrated the mbed library with mbed-rtos. For an mbed-os example, please see:

Import programrtos_mutex

mutex example

Revision:
7:bd0aa7f21f53
Parent:
6:1ae0d86d2020
--- a/main.cpp	Fri Jan 13 19:49:29 2017 +0000
+++ b/main.cpp	Wed Feb 15 13:58:42 2017 -0600
@@ -1,9 +1,8 @@
 #include "mbed.h"
+#include "rtos.h"
 
 Mutex stdio_mutex;
-Thread t2;
-Thread t3;
-    
+
 void notify(const char* name, int state) {
     stdio_mutex.lock();
     printf("%s: %d\n\r", name, state);
@@ -12,12 +11,15 @@
 
 void test_thread(void const *args) {
     while (true) {
-        notify((const char*)args, 0); wait(1);
-        notify((const char*)args, 1); wait(1);
+        notify((const char*)args, 0); Thread::wait(1000);
+        notify((const char*)args, 1); Thread::wait(1000);
     }
 }
 
 int main() {
+    Thread t2;
+    Thread t3;
+
     t2.start(callback(test_thread, (void *)"Th 2"));
     t3.start(callback(test_thread, (void *)"Th 3"));