예제 #1
0
        protected T RelaxedPeek()
        {
            LinkedQueueNode <T> currConsumerNode = this.ConsumerNode; // don't load twice, it's alright
            LinkedQueueNode <T> nextNode         = currConsumerNode.LvNext();

            return(nextNode?.LpValue());
        }
예제 #2
0
        protected T RelaxedPoll()
        {
            LinkedQueueNode <T> currConsumerNode = this.LpConsumerNode(); // don't load twice, it's alright
            LinkedQueueNode <T> nextNode         = currConsumerNode.LvNext();

            return(nextNode != null
                ? this.GetSingleConsumerNodeValue(currConsumerNode, nextNode)
                : null);
        }