Question: In C++ code Using this Function for Producer while (true) { } /* produce an item and put in nextProduced */ while (count == BUFFER_SIZE)
In C++ code
Using this Function for Producer
while (true) {
}
/* produce an item and put in nextProduced */
while (count == BUFFER_SIZE) ; // do nothing
buffer[in] = nextProduced;in = (in + 1) % BUFFER_SIZE;
count++;
}
Using this Function for Consumer
while (true) {
while (count == 0)
; // do nothing
nextConsumed = buffer[out];out = (out + 1) % BUFFER_SIZE;
count--;
/* consume the item in nextConsumed */
}
>>>Modify Producer and Consumer Problem from lecture note so that it can use all buffer space, not buffersize 1 as in the lecture note. This program should work as follows: 1. The user will run the program and will enter two numbers on the command line. Those numbers will be used for buffersize and counter limit. 2. The program will then create a separate threads, producer and consumer thread. 3. Producer thread generates a random number through random number generator function and inserts this into buffer and prints the number. Increment counter. 4. Consumer thread goes to the buffer and takes a number in the proper order and prints it out. Increment counter. 5. After counter reaches its limit, both threads should be terminated and return to main. 6. Main program terminates. 7.You can implement this project in any OS environment of your choice, windows, linux, etc. Also you can use any programming languages you want but your program and sample run should clear show that you implemented subtasks using separate threads.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
