I will give it a try, though I don't clearly get what you are trying to achieve here also I have not used boost threading much.
Typically if you want to implement multi-threaded push and pop, then the consumer thread has to wait and pop on the queue and the producer thread has push and signal...