C# 队列输入输出同步问题

用C#写了一个通信工具,周期比较短,用一个队列来存储接收到的消息,然后在前台界面用一个Timer来取队列里的值。

现在出现的问题是,通信周期是20ms,即使我把Timer缩短到5ms,队列也做不到及时出清,即使我断了连接还是会有出队操作,求解答

应该使用委托处理,当消息回调的时候,执行委托方法,就能做到即时