amit ate
/
Wthread_mutex_blinky
Mutex Example
Fork of rtos_mutex by
Diff: main.cpp
- Revision:
- 1:0f886ffbe0c1
- Parent:
- 0:9325f4cd8c1e
- Child:
- 5:384d6cef11d4
diff -r 9325f4cd8c1e -r 0f886ffbe0c1 main.cpp --- a/main.cpp Fri Jul 13 10:30:11 2012 +0000 +++ b/main.cpp Fri Jul 13 10:34:00 2012 +0000 @@ -0,0 +1,24 @@ +#include "mbed.h" +#include "rtos.h" + +Mutex stdio_mutex; + +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); Thread::wait(1000); + notify((const char*)args, 1); Thread::wait(1000); + } +} + +int main() { + Thread t2(test_thread, (void *)"Th 2"); + Thread t3(test_thread, (void *)"Th 3"); + + test_thread((void *)"Th 1"); +}