Я использую очередь, реализованную классом BlockingCollection, для реализации очереди модели производитель-потребитель.
У меня есть несколько потоков, добавляющих элементы в указанном порядке (только для каждого из потоков), и один поток, извлекающий из него элементы.
Меня не волнует порядок добавления элементов между разными потоками, но я ожидаю, что элементы, добавляемые каждым из потоков, будут в том порядке, в котором они были добавлены.
Гарантирует ли это класс BlockingCollection? Я гуглил, но не нашел четкого ответа на свой вопрос.
BlockingCollection
заключает в себе другой тип соединения. Вы явно предоставляете его в своем конструкторе? Если да, то посмотрите на его гарантии. Если нет, он будет использоватьConcurrentQueue
— так что посмотрите на гарантии этого типа. - person Damien_The_Unbeliever   schedule 26.07.2018