Вопросы по теме 'blockingcollection'

Цикл Parallel.ForEach с BlockingCollection.GetConsumableEnumerable
Почему цикл Parallel.ForEach завершается с OperationCancelledException при использовании GetConsumableEnumerable ? //outside the function static BlockingCollection<double> _collection = new BlockingCollection<double>();...
6859 просмотров

BlockingCollection, состояние гонки?
Я реализовал шаблон Producer/Consumer, используя BlockingCollection, однако он, похоже, не блокируется, как я ожидаю. У меня есть один поток, получающий кадры с веб-камеры и добавляющий их в BlockingCollection. private void...
481 просмотров
schedule 19.07.2023

Многопоточность нескольких потоков производителя и потребителя не будет синхронизировать условие гонки BlockingCollection
У меня есть несколько производителей и несколько потребителей. Мой общий ресурс — BlockingCollection. Однако мой код работает, только если у меня есть один потребитель. Я знаю, что это состояние гонки, так как вывод каждый раз разный, когда я...
1655 просмотров

Делаем Blockingколлекцию наблюдаемой
У меня есть список, привязанный к коллекции блокировок в моей модели представления. <ListBox Grid.Row="1" ItemsSource="{Binding PlantControllers}" и собственность public BlockingCollection<PLANTCONTROLLER> PlantControllers...
1339 просмотров
schedule 22.06.2023

BlockingCollection слишком долго просыпается
У меня проблема, когда BlockingCollection<MyItem> слишком долго просыпается от .Take() звонка. Сценарий таков: у меня есть поток, который очень быстро отправляет данные в BlockingCollection (на самом деле в XUnit я выполнил цикл for ....
638 просмотров

Как выполнять асинхронные операции в потоке данных TPL для лучшей производительности?
Я написал следующий метод для пакетной обработки огромного CSV-файла. Идея состоит в том, чтобы прочитать часть строк из файла в память, а затем разделить эту часть строк на пакеты фиксированного размера. Как только мы получим разделы, отправьте эти...
2859 просмотров

Гарантирован ли порядок данных очереди BlockingCollection, когда данные добавляются несколькими потоками?
Я использую очередь, реализованную классом BlockingCollection, для реализации очереди модели производитель-потребитель. У меня есть несколько потоков, добавляющих элементы в указанном порядке (только для каждого из потоков), и один поток,...
144 просмотров

BlockingCollection Take() блокирует навсегда
У меня есть простая установка производителя-потребителя, использующая блокирующую коллекцию. Потребитель сидит в цикле в течение всего времени работы нашего приложения, ожидая, пока потребитель поместит элементы в коллекцию, затем извлекает элемент и...
1181 просмотров
schedule 26.12.2022

Почему и как цикл foreach в BlockingCollection работает бесконечно?
Я работаю над простым регистратором файлов, у меня были проблемы с потокобезопасностью, и я смотрел, как это делают другие. Я столкнулся с подходом к использованию BlockingCollection в качестве очереди и цикла foreach для обработки этой очереди:...
110 просмотров
schedule 25.11.2022

Предлагает ли метод BlockingCollection.AddToAny какие-либо преимущества в производительности по сравнению с добавлением в один BlockingCollection?
Насколько я знаю, добавление в BlockingCollection не блокирует, o AddToAny, о котором я могу думать, это если некоторые из них вызывают CompleteAdding(). Это единственное использование AddToAny? И как только все они вызовут CompleteAdding, AddToAny...
33 просмотров