Я занимаюсь проектированием графического интерфейса для отображения рыночных данных. В настоящее время у меня есть несколько окон, которые потребляют одни и те же данные, но отображают разные аспекты. Я пытаюсь найти лучший способ архитектовать эту систему.архитектура для одного производителя несколько потребителей
У меня есть один производитель рыночных данных и несколько потребителей, которые регистрируют обратный вызов с производителем. Когда производитель готов с данными, он выполняет итерацию через список потребителей и распределяет данные каждому потребителю посредством обратного вызова. Я не уверен, что это лучший способ распространения данных. Каждому потребителю приходится ждать, пока предыдущий потребитель завершит обработку обратного вызова, прежде чем он сможет получить свои данные.
Есть ли способ, которым все потребители могут получать данные в одно и то же время или с минимальными задержками? Я использую C# 4.0 и хотел бы знать, есть ли какие-либо языковые возможности, которые позволяют это.
Слишком широкий для одного ответа. проголосовали за закрытие. – I4V
Попробуйте уменьшить проблему и проиллюстрировать некоторым кодом. – JeffRSon
Вы думаете об этом неправильно. Требование, что потребители должны ждать друг друга, разрушает проблему. Вы * не * имеете N потребителей, которые выполняют по 1 операции каждый, у вас есть 1 потребитель, который выполняет N операций. Это тривиально. –