Something like this would be nice
//Pseudo Code
FiFoBuffer<String> myFiFo(maxItems);
thread1()
{
myFiFo.write("one");
myFiFo.write("two");
};
thread2()
{
myFiFo.write("three");
myFiFo.write("four");
};
thread3()
{
String s;
while(!threadShouldStop)
{
isEmpty=myFifo.read(s);
if (isEmpty) wait();
};
};