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 }