// Create a semaphore
Semaphore sem = Semaphore(1);
// Task 1
void Task1(void *args)
{
while (true)
{
// Wait for semaphore
sem.wait();
// Call function
adjustTemperature();
// Release semaphore
sem.signal();
// Delay
delay(50);
}
}
// Task 2
void Task2(void *args)
{
while (true)
{
// Wait for semaphore
sem.wait();
// Call function
monitorPressure();
// Release semaphore
sem.signal();
// Delay
delay(50);
}
}
// Create a semaphore
Semaphore sem = Semaphore(1);
// Task 1
void Task1(void *args)
{
while (true)
{
// Wait for semaphore
sem.wait();
// Call function
adjustTemperature();
// Release semaphore
sem.signal();
// Delay
delay(50);
}
}
// Task 2
void Task2(void *args)
{
while (true)
{
// Wait for semaphore
sem.wait();
// Call function
monitorPressure();
// Release semaphore
sem.signal();
// Delay
delay(50);
}
}