BufferBlock потока данных TPL с приоритетом

Это должно быть что-то очень естественное, мне было интересно, есть ли готовая реализация Prioritized BufferBlock из библиотеки TPL DataFlow?


person husayt    schedule 17.05.2011    source источник
comment
Как вы ожидаете, что он будет вести себя по отношению к BoundedCapacity? Или это функция, которая вам не нужна?   -  person svick    schedule 03.06.2012
comment
@svick Я ожидал, что если будет достигнут BoundedCapacity, то он сбросит элемент в конце списка. Не совсем оптимально, но это один подход. Другой вариант - всегда устанавливать BoundedCapacity на DataflowBlockOptions на Unbounded.   -  person casperOne    schedule 17.11.2012
comment
Я был бы осторожен с таким блоком. Все существующие блоки потока данных имеют гарантию сохранения порядка сообщений. Это нарушит эту очевидную гарантию.   -  person Andrew Arnott    schedule 31.12.2012
comment
Куда бы я ни посмотрел, кажется, что никто не осознает действительную потребность в очереди с приоритетами. И я не могу понять пути. В операциях ввода-вывода низкого уровня (и даже в операциях ввода-вывода высокого уровня) организация очередей с приоритетами очень важна. @husayt, а тебе уже удалось решить твою проблему?   -  person Francois Nel    schedule 11.06.2013


Ответы (1)


Кажется, лучший способ добиться этого - использовать специализированный Планировщик задач, а не реализовывать собственный BufferBlock. Их очень много, и их можно найти в сети. Например, проверьте QueuedTaskScheduler в библиотеке параллельных расширений

person husayt    schedule 11.06.2013