Просмотр данных в круговом буфере в режиме реального времениC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Просмотр данных в круговом буфере в режиме реального времени

Сообщение Anonymous »

У меня есть входящий поток сообщений, и я хочу окно, которое позволяет пользователю прокручивать сообщения. < /p>

Это мое текущее мышление: < /p>


[*] Входящие сообщения заходят в однородную очередь одного потребителя < /li>
Поток считывает их и помещает их в круглый буфер с последовательным id < /li>
Таким образом, я мог бы иметь несколько входящих потоков, безопасно размещенных в круговом буфере, и он разместит вход < /li>
Mutex для координации круглого буфера между UI и поток
[*] Два уведомления от потока до UI One для первого идентификатора и одно для последнего идентификатора в буфере, когда они либо меняются.
Это позволяет пользовательскому интерфейсу выяснить, что он может отобразить, какие части круглого буфера он нуждается в доступе, удаляет перезаписанные сообщения. Он доступ к сообщениям, необходимым для заполнения окна в его текущем размере и положении прокрутки. UI. Он будет генерироваться с высокой частотой. Они могут быть в очереди или иным образом дроссель; Задержка не должна влиять на первый идентификатор, но задержки при обработке последнего идентификатора могут вызвать проблемы в угловых случаях, таких как просмотр самого конца полного буфера , если пользовательский интерфейс не сделает копию отображающих сообщений, которые отображаются, которые отображают, что Я хотел бы избежать. < /P>

Это звучит как правильный подход? Какие -то изменения, которые могут сделать его немного более вкусным?

Подробнее здесь: https://stackoverflow.com/questions/160 ... -real-time
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»