Basic example showing the Semaphore 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_semaphore

semaphore example

Revision:
5:574f47121e8e
Parent:
4:ec4791bc6554
Child:
6:1a383b363dc3
--- a/main.cpp	Wed Jan 11 14:39:06 2017 +0000
+++ b/main.cpp	Fri Jan 13 19:50:12 2017 +0000
@@ -1,21 +1,19 @@
 #include "mbed.h"
-#include "rtos.h"
 
 Semaphore two_slots(2);
-
+Thread t2;
+Thread t3;
+    
 void test_thread(void const *name) {
     while (true) {
         two_slots.wait();
         printf("%s\n\r", (const char*)name);
-        Thread::wait(1000);
+        wait(1);
         two_slots.release();
     }
 }
 
 int main (void) {
-    Thread t2;
-    Thread t3;
-
     t2.start(callback(test_thread, (void *)"Th 2"));
     t3.start(callback(test_thread, (void *)"Th 3"));