Your question is Thread-Safe Circular Buffer in C++. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Implement a thread-safe circular buffer (FIFO queue) in C++ without using the Standard Template Library (STL).