Доброго времени суток. Пытаюсь реализовать очередь на отправку сообщений. Имеется две очереди (напр. ConcurrentQueue). Одна будет хранить в себе обычные сообщения, другая - важные. В основном будет использоваться обычная очередь. Отправка сообщений происходит в ParallelForeach. Но если в "Важной" очереди появились сообщения необходимо прервать отправку сообщений из главной очереди, отправить важные, а за тем возобновить стандартную. Т.е. прервать выполнение метода на время выполнения другого и после вернуть управление первому. Спасибо.
P.S. Первое что пришло на ум это CancellationToken. Но может есть какие-то более простые и удобные варианты варианты.
Если я вас правильно понял, то вам могут помочь функции-генераторы, я слышал такие есть в C#. Сам пишу на js, где они также есть и по сути они могут приостанавливать выполнение функции на необходимое время, а потом возобновлять выполнение с момента остановки.
Вот посмотрите здесь
Сборка персонального компьютера от Artline: умный выбор для современных пользователей