
PlatformMutex class example - RTOS independent
Diff: main.cpp
- Revision:
- 0:2084d9e90526
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Nov 30 22:14:35 2017 +0000 @@ -0,0 +1,25 @@ +#include "mbed.h" + +PlatformMutex stdio_mutex; +Thread t2; +Thread t3; + +void notify(const char* name, int state) { + stdio_mutex.lock(); + printf("%s: %d\n\r", name, state); + stdio_mutex.unlock(); +} + +void test_thread(void const *args) { + while (true) { + notify((const char*)args, 0); wait(1); + notify((const char*)args, 1); wait(1); + } +} + +int main() { + t2.start(callback(test_thread, (void *)"Th 2")); + t3.start(callback(test_thread, (void *)"Th 3")); + + test_thread((void *)"Th 1"); +}