Hi,

I want to implement a message queue between multiple thread, with
multiple thread post message to the queue and one single thread process
the message. I don't want the single processing thread to be blocked by
the os when there is no message to be processed.

I don't know if I can use ASIO lib to help me implement it. In my
thought, the single processing thread read the queue asynchronisely and
be invoked if there is one message ready on the queue, just like there
is data ready on the socket.

Is it doable? And is its performance better than the blocking method
using conditional_variable?

Regards,
-Bruce