Singly-linked list queue
Don't use volatile in the below line

    private volatile MyQueueNode&lt;T&gt; _headNode, _tailNode;


Link https://www.infoworld.com/article/3229360/application-development/how-to-use-the-volatile-keyword-in-c.html