learn chp5 message queue