Homework 6 K BABANAZAR 2019529628030 Version 0 |
|
👤 Author: by wx287_oz26ft-3_gi3ergmjooq4q7gvhl0 2022-02-17 13:12:16 |
Solution:
Problem: Whenever a process is constantly checking value while waiting (see while(s==0)) and wasting CPU cycles, we can take the following train of thought to avoid this situation:
P(Semaphore s)
{
s=s-1;
if(s<0){
block();
}
}
V(Semaphore s)
{
s=s+1;
if(s >=0){
wakeup(p);
}
}