Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Customer buyProduct () { while ( numProduct = = 0) { signal ( customers); wait (Product); } while (Product.NotEmpty)signal(Product); numProduct --; } Clerk sellProduct(){ if(numProduct!=0)wait(customers);
Customer buyProduct () {
while ( numProduct = = 0) {
signal ( customers);
wait (Product);
}
while (Product.NotEmpty)signal(Product);
numProduct --;
}
Clerk
sellProduct(){
if(numProduct!=0)wait(customers);
numProduct = P;
}
a) Change the code such that it will properly work with a Signal and Exit policy. Consider the monitor concept and not its java implementation.
b) What will be the outcome of eliminating if(numProduct!=0) in the clerk code? Clearly explain and give an execution sequence that shows the outcome.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started