[Simple Message Sending and Receiving Between 2 Theads]
// Note:
// You must have installed MSMQ component through "Control Panel"
// And created a private message queue by using "Computer Manage"
//
// In Main Thread
Program pro = new Program(); MessageQueue msgq = new MessageQueue(".//Private$//MSMQDemo"); ((XmlMessageFormatter)msgq.Formatter).TargetTypeNames = new string[] { "System.String" }; Thread subThread = new Thread(new ParameterizedThreadStart(pro.DoMsgReceive)); Message msg = new Message("This is a message"); subThread.Start(msgq); msgq.Send(msg); subThread.Join();
// In TheadProc
// Thread Proc void DoMsgReceive(object obj) { bool fEnd = false;
MessageQueue msgQueue = (MessageQueue)obj; while(!fEnd) { Message msg = msgQueue.Receive(); string strMsg = (string)msg.Body; Console.WriteLine(strMsg); } }