Прерывание выполнения метода “А” на время выполнения метода “Б”

216
15 октября 2017, 20:31

Доброго времени суток. Пытаюсь реализовать очередь на отправку сообщений. Имеется две очереди (напр. ConcurrentQueue). Одна будет хранить в себе обычные сообщения, другая - важные. В основном будет использоваться обычная очередь. Отправка сообщений происходит в ParallelForeach. Но если в "Важной" очереди появились сообщения необходимо прервать отправку сообщений из главной очереди, отправить важные, а за тем возобновить стандартную. Т.е. прервать выполнение метода на время выполнения другого и после вернуть управление первому. Спасибо.

P.S. Первое что пришло на ум это CancellationToken. Но может есть какие-то более простые и удобные варианты варианты.

Answer 1

Если я вас правильно понял, то вам могут помочь функции-генераторы, я слышал такие есть в C#. Сам пишу на js, где они также есть и по сути они могут приостанавливать выполнение функции на необходимое время, а потом возобновлять выполнение с момента остановки.

Вот посмотрите здесь

READ ALSO
Не может обработать исключение AccessViolationException

Не может обработать исключение AccessViolationException

Вот тут вызывается сам nativeCall

302
объеденить строчки json

объеденить строчки json

Имеется такой json:

414
Скомпонировать JSON сртроку

Скомпонировать JSON сртроку

Добрый день, есть JSON строка в которой много ошибок

286
Angular2 создать Dom вписать значения из массива

Angular2 создать Dom вписать значения из массива

Добрый день, с Angular работаю впервые, пока кажется очень сложным и непонятным, но работать приходится, возникла проблема, Необходимо создавать...

374