コード例 #1
0
        /// <summary>
        /// 添加数据到
        /// </summary>
        private void enqueue()
        {
            client.RemoveDataStructure(cacheName);
            queue = client.GetOrCreateDataStructure <QueueConsumer <Binary <Message> > >(cacheName);

            start(CallbackType.Asynchronous, TestType.MessageQueueEnqueue);
            for (int index = 0; index != count; ++index)
            {
                queue.EnqueueStream(new Message {
                    Value = index
                }, enqueueCallbackReturnParameter);
            }
            wait();

            messageIndex = 0;
        }
コード例 #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);
 }