ConcurrentQueue можно отнести к lock-free конкурентным структурам данных. В ее реализации нет блокировок (lock, Mutex…) и реализована она с использованием: — классической функции CompareExchange; — SpinWait — volatile (используется как memory-barrier) В основу ConcurrentQueue заложена структура ring-buffer ([кольцевой буфер][1]). [Читать дальше →][2]
[1]:
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D1%8C%D1%86%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B1%D1%83%D1%84%D0%B5%D1%80
[2]:
http://habrahabr.ru/post/245837/#habracut