Lab 8 part 3

Dependencies:   mbed mbed-rtos

Committer:
wssingle
Date:
Sun May 03 19:12:28 2020 +0000
Revision:
13:a68509ad3202
Parent:
12:4e3f46e615d9
Lab 8 part 3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wssingle 13:a68509ad3202 1 #include "mbed.h"
wssingle 13:a68509ad3202 2 #include "rtos.h"
wssingle 13:a68509ad3202 3
wssingle 13:a68509ad3202 4 Semaphore two_slots(2);
wssingle 13:a68509ad3202 5
wssingle 13:a68509ad3202 6 void test_thread(void const *name) {
wssingle 13:a68509ad3202 7 while (true) {
wssingle 13:a68509ad3202 8 two_slots.wait();
wssingle 13:a68509ad3202 9 printf("%s\n\r", (const char*)name);
wssingle 13:a68509ad3202 10 Thread::wait(1000);
wssingle 13:a68509ad3202 11 two_slots.release();
wssingle 13:a68509ad3202 12 }
wssingle 13:a68509ad3202 13 }
wssingle 13:a68509ad3202 14
wssingle 13:a68509ad3202 15 int main (void) {
wssingle 13:a68509ad3202 16 Thread t2;
wssingle 13:a68509ad3202 17 Thread t3;
wssingle 13:a68509ad3202 18
wssingle 13:a68509ad3202 19 t2.start(callback(test_thread, (void *)"Th 2"));
wssingle 13:a68509ad3202 20 t3.start(callback(test_thread, (void *)"Th 3"));
wssingle 13:a68509ad3202 21
wssingle 13:a68509ad3202 22 test_thread((void *)"Th 1");
wssingle 13:a68509ad3202 23 }