Общая очередь C# Round Robin (разделенная/отсортированная)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Общая очередь C# Round Robin (разделенная/отсортированная)

Сообщение Anonymous »

Мне часто приходится обрабатывать очередь элементов, при этом ни один пользователь не может заблокировать очередь, а элементы в очереди должны обрабатываться в определенном порядке. Я часто пишу класс для этого, но думал, что должна быть какая-то общая версия, но не могу ее найти.

Поэтому я ищу класс очереди где я могу указать тип, селектор для разделов и селектор для упорядочивания, чтобы я мог добавлять объекты в очередь, а затем, когда я получаю объекты обратно, я получаю первый объект из следующего раздела, упорядоченный моим спецификатором заказа.

Например, я бы позвонил вот так указано, как разбить и как сортировать очередь:

Код: Выделить всё

 var queue = new RoundRobinQueue(
_ => _.UserID,
_ => _.SendDate
);
И после того, как я добавил много сообщений, я могу Parallel.ForEach элементы в моей очереди и обрабатывать их в порядке самой ранней даты отправки< /code> для следующего пользователя. Таким образом, если один пользователь работает медленно, его элементы не будут блокировать очередь, поскольку он получает только один поток, но если есть только один пользователь, он является единственным разделом, поэтому он получает все потоки.

Я перерыл всё, но не смог найти хорошей универсальной реализации на C# для этого. Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/139 ... rted-queue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Выберите задачи в моде Round Robin среди нескольких очередей сельдерея
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как использовать CSS round() в SCSS, в котором тоже есть round?
    Anonymous » » в форуме CSS
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как использовать CSS round() в SCSS, в котором тоже есть round?
    Anonymous » » в форуме CSS
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Как использовать CSS round() в SCSS, в котором тоже есть round?
    Anonymous » » в форуме CSS
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как текущая очередь, очередь отправки и целевая очередь взаимодействуют друг с другом в GCD?
    Anonymous » » в форуме IOS
    0 Ответы
    105 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»