Basic example showing the Mutex 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_mutex
mutex example
Revision 7:bd0aa7f21f53, committed 2017-02-15
- Comitter:
- mbed_official
- Date:
- Wed Feb 15 13:58:42 2017 -0600
- Parent:
- 6:1ae0d86d2020
- Commit message:
- Revert update to mbed-os.
Changed in this revision
--- 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"));
--- a/mbed-os.lib Fri Jan 13 19:49:29 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://github.com/ARMmbed/mbed-os/#2885c1b41e63158cb6faf5f107cd821ae06ef26c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Wed Feb 15 13:58:42 2017 -0600 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed-rtos/ \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Feb 15 13:58:42 2017 -0600 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/ \ No newline at end of file