Question
Can you explain in details how this code works. public class BufferImpl implements Buffer { private static final int BUFFER_SIZE = 5; private E[] elements;
Can you explain in details how this code works.
public class BufferImpl
{
private static final int BUFFER_SIZE = 5;
private E[] elements;
private int in, out, count;
public BufferImpl() {
count = 0;
in = 0;
out = 0;
elements = (E[]) new Object[BUFFER_SIZE];
}
// producers call this method
public void insert(E item) {
while (count == BUFFER_SIZE)
; // do nothing -- no free space
// add an element to the buffer
elements[in] = item;
in = (in + 1) % BUFFER_SIZE;
++count;
}
// consumers call this method
public E remove() {
E item;
while (count == 0)
; // do nothing - nothing to consume
// remove an item from the buffer
item = elements[out];
out = (out + 1) % BUFFER_SIZE;
--count;
return item;
}
}
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