/// <summary> /// 消费者 IO 线程同步实时处理数据 /// </summary> private void synchronousStream() { enqueue(); start(CallbackType.SynchronousStream, TestType.MessageQueueDequeue); using (AutoCSer.CacheServer.MessageQueue.Abstract.Consumer consumer = queue.CreateConsumerStream(onMessage, getConfig())) { wait(); } client.RemoveDataStructure(cacheName); }
/// <summary> /// 消费者 IO 线程同步实时处理数据(生产消费实时并行测试) /// </summary> private void synchronousStreamMixing() { client.RemoveDataStructure(cacheName); queue = client.GetOrCreateDataStructure <QueueConsumer <Binary <Message> > >(cacheName); messageIndex = errorCount = 0; start(CallbackType.SynchronousStream, TestType.MessageQueueMixing, 2); using (AutoCSer.CacheServer.MessageQueue.Abstract.Consumer consumer = queue.CreateConsumerStream(onMessageInterlocked, getConfig())) { for (int index = 0; index != count; ++index) { queue.EnqueueStream(new Message { Value = index }, enqueueCallbackInterlockedReturnParameter); } wait(); } client.RemoveDataStructure(cacheName); }