namespace SWModules { public sealed class MessageQueue : FIFOQueue { private const int depth = 128; public const int width = 512; private MessageQueue() : base(depth, width) { } private static MessageQueue _instance; public static MessageQueue Instance { get { _instance = _instance ?? (new MessageQueue()); return _instance; } } private QRecord _qRecord; private const byte MaxQueueProcess = 16; /// /// /// public override void processQ() { for (byte i = 0; i < MaxQueueProcess; i++) { if (Count <= 0) break; _qRecord = Dequeue(); _qRecord.processMessage(_qRecord); } } } }