У меня есть приложение на C # 4.0 с очередями «высокий приоритет» и «низкий приоритет», реализованными так:
BlockingCollection highPriority = new BlockingCollection (1000);BlockingCollection lowPriority = new BlockingCollection (1000);
Любые данные, созданные в highPriority, должны быть использованы до того, как любые данные будут получены в lowPriority.Суть в том, что данные могут быть переданы в любую из двух очередей в любое время.Поэтому после того, как я использовал все данные в highPriority, я буду использовать любые данные, которые могут находиться в lowPriority.Если новые данные создаются в highPriority, а я использую данные в lowPriority, я хочу закончить потребление текущего элемента в lowPriority, а затем переключиться назад и обработать данные в highPriority.
Может кто-нибудь предложить алгоритм, который поможетс этим?Псевдокод в порядке.Большое спасибо.