Я создаю приложение, которое отображает рыночные данные и также использует их в некоторых других формах. Я храню рыночные данные на карте, скажем
std :: map
. Позвольте мне привести один использованный случай того, как можно использовать эту карту.
- сеть отправляет пакет данных, инкапсулирующий данные о запасах в момент времени t.
updatePrice (tickerId, latestPrice)
- обновляет данные о запасах на карте. Теперь несколько потоков могут получать доступ к данным и обновлять их. Таким образом, карта должна быть заблокирована для поточно-ориентированных операций. Вот первый вопрос: нужно ли мне блокировать и базовые данные для обновлений?
- Есть несколько вариантов использования новых данных о запасах, скажем, есть обновление цен на IBM, тогда мне нужно обновить стоимость IBM в моем портфолио. А также отображать новые данные на экране. И одновременно может быть несколько других применений.
updatePosition (tickerId, price)
и updateStockScreen (tickerId, price)
. Кроме того, важно отделить обновления графического интерфейса пользователя от обновления положения, поскольку графический интерфейс не является главной сильной стороной приложения.
- Меня просто беспокоит, как реализовать этот тип дизайна. Я читал о дизайне модели / представления в QT для отображения данных, но если поток просмотра читает с той же карты, он должен быть заблокирован. Это приводит к медленному / неэффективному дизайну. Каждый раз, когда представление считывает данные из модели, модель необходимо заблокировать.Предпочтительно ли это в графических интерфейсах реального времени?
- Подводя итог, я сохранил множество различных объектов в виде карт. А объекты обновляются в реальном времени. Мне нужно обновить их, а затем использовать в разных местах. Было бы здорово, если бы кто-нибудь мог дать мне небольшой пример того, как реализовать такие конструкции.
Также приветствуются некоторые ссылки на полезные книги.
Я новичок и пытаюсь достичь слишком многого, обладая небольшими знаниями, так что простите меня, если я задавал глупые / неправильно сформулированные вопросы.
Спасибо
Shiv
задан shiv chawla 28 February 2012 в 16:01
поделиться