Мне нужно реализовать стандартный алгоритм одного потребителя. Я могу реализовать его с помощью Queue
и нескольких инструкций lock
. Или я могу просто использовать ConcurrentQueue
. Что лучше?
Если используется Queue + lock
, то я могу оптимизировать "множественное добавление/возврат", потому что я могу lock
один раз, а затем Add
много раз.
Что в общем случае быстрее - ConcurrentQueue
или Queue + lock
и насколько разница? Конечно, ConcurrentQueue
является самым прямым, но я не хочу потерять много производительности, поскольку я использую это в торговом приложении HFT.