Basic example showing the Semaphore API
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
main.cpp
- Committer:
- mbed_official
- Date:
- 2017-02-15
- Revision:
- 6:1a383b363dc3
- Parent:
- 5:574f47121e8e
File content as of revision 6:1a383b363dc3:
#include "mbed.h"
#include "rtos.h"
Semaphore two_slots(2);
void test_thread(void const *name) {
while (true) {
two_slots.wait();
printf("%s\n\r", (const char*)name);
Thread::wait(1000);
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"));
test_thread((void *)"Th 1");
}
mbed official


