1 // 模拟一个处理消息队列的类 2 class MessageHandler 3 { 4 // 消息队列 5 private Queue<string> messageQue = new Queue<string>(); 6 private Thread th = null; 7 private bool can = true; 8 9 // 处理消息队列的方法 10 void HandlerMessage() { 11 while (can) { 12 if (messageQue.Count > 0) { 13 Thread.Sleep(1000); 14 Console.WriteLine(messageQue.Dequeue()); 15 } 16 } 17 } 18 19 // 向消息队列中增加消息 20 public void AppendMessage(string message) { 21 messageQue.Enqueue(message); 22 } 23 24 // 开始 处理消息的线程 25 public void Start() { 26 if (th == null) { 27 th = new Thread(HandlerMessage); 28 th.Name = "HandlerMessage"; 29 } 30 31 if (!th.IsAlive) { 32 th.Start(); 33 } 34 } 35 36 // 结束 处理消息的线程 37 public void Stop() { 38 can = false; 39 } 40 } 41 }