示例#1
0
        /// <summary>
        /// 消费者 线程池轮询缓冲区
        /// </summary>
        private void threadPool()
        {
            enqueue();

            start(CallbackType.ThreadPool, TestType.MessageQueueDequeue);
            using (AutoCSer.CacheServer.MessageQueue.Abstract.Consumer consumer = queue.CreateConsumer(onMessage, getConfig()))
            {
                wait();
            }
            client.RemoveDataStructure(cacheName);
        }
示例#2
0
 /// <summary>
 /// 消费者 线程池轮询缓冲区(生产消费实时并行测试)
 /// </summary>
 private void threadPoolMixing()
 {
     client.RemoveDataStructure(cacheName);
     queue        = client.GetOrCreateDataStructure <QueueConsumer <Binary <Message> > >(cacheName);
     messageIndex = errorCount = 0;
     start(CallbackType.ThreadPool, TestType.MessageQueueMixing, 2);
     using (AutoCSer.CacheServer.MessageQueue.Abstract.Consumer consumer = queue.CreateConsumer(onMessageInterlocked, getConfig()))
     {
         for (int index = 0; index != count; ++index)
         {
             queue.EnqueueStream(new Message {
                 Value = index
             }, enqueueCallbackInterlockedReturnParameter);
         }
         wait();
     }
     client.RemoveDataStructure(cacheName);
 }
 private EmailPendingNotifier()
 {
     consumer = QueueConsumer.CreateConsumer("Email", "Mailer", "SendAnEmail");
 }