Mam ograniczonej kolejki blokowania w aplikacji, która została napisana kilka lat temu. Powiedzmy, że implementacja jest mniej niż gwiezdna, ale zadziałała. Ma jednak pewne problemy z wydajnością. Wygląda na to, że .NET 4.0 BlockingCollection<T>
jest właściwym zamiennikiem, ale muszę się upewnić, że faktycznie jest to kolejka. Czy jest to zagwarantowane, że jest to ściśle FIFO, jeśli jest stosowane w jednomandatowym sklepie jednoosobowym?Czy BlockingCollection <T> gwarantuje realizację zlecenia usunięcia?
Dokumentacja nie mówi konkretnie. BlockingCollection temat nie mówi (w uwagach):
BlockingCollection<T>
jest podobny do tradycyjne danych kolejki blokowanie struktury, oprócz tego, że pod spodem Dane mechanizm przechowywania jest wydobywane dala jakoIProducerConsumerCollection<T>
.
Ale nic specjalnie nie mówi, że rzeczy zostaną usunięte w tej samej kolejności, w jakiej zostały dodane.
Ktoś wie na pewno?
Downvoter, masz coś do powiedzenia? Zwyczajowo podajemy powód do odrzucenia. –