Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712

Быстрый вывод данных из потока

09.09.2016, 08:11. Показов 1716. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую. Для максимально быстрого вывода данных из потока в окно я создал нижеприведенный шаблон. В классе потока созданы переменные по данному шаблону, значения которых нужно выводить в окно. В процедуре, вызываемой через Synchronize, вывод данных в окно осуществляется только в том случае, если соответствующая переменная была обновлена в потоке.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template <typename Type> class UpdateVariable
{
 private:
  Type FValue;
  bool FIsUpdate;
 
  Type GetValue()               { FIsUpdate = false; return FValue; };
  void SetValue(Type Value_)    { FIsUpdate = true; FValue = Value_; };
 
 public:
       UpdateVariable()         { FIsUpdate = false; }
 
  __property Type Value       = { read = GetValue, write = SetValue };
  __property bool IsUpdate    = { read = FIsUpdate };
  void operator = (Type Value_) { SetValue(Value_); };
};
Оцените, пожалуйста, подобную реализацию вывода информации из потока. Может зря я сделал шаблон и существует "изобретенный велосипед"? Или вывод информации из потока можно (или даже нужно) выполнить по-другому? Или может все хорошо, но шаблон надо исправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.09.2016, 08:11
Ответы с готовыми решениями:

Быстрый вывод jpeg на экран
В продолжении темы https://www.cyberforum.ru/cpp-builder/thread1543958.html Очень долго происходит jpeg-&gt;LoadFromStream(as); ...

Быстрый вывод данных в TextArea (FXML)
Добрый вечер! Прошу о помощи знатоков Java (в частности JavaFX, FXML). Пишу программу что-то наподобие монитора последовательных COM...

Вывод данных в richTextBox из потока
Помогите с этим.. выпадает исключение на последней строке StackOverflowException. Программа создает поток в котором происходит циклическое...

24
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.09.2016, 16:36
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Maluda Посмотреть сообщение
Ну, что за глупости.
Та нет не глупости. Винда для реалтайм задач не предназначена.

Добавлено через 1 минуту
Цитата Сообщение от Maluda Посмотреть сообщение
и будет тебе счастье
с rand()%10 найдут при тестировании. А без него однозначно вылезет в продакшине и искать эту фазу луны будут очень долго
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
09.09.2016, 16:40
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Винда для реалтайм задач не предназначена
Дружище, в винде в реалтайме в трехмерке рендрерятся вещи такого объема, что ЭБУ даже не снислось. В общем, не будем на эту тему.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.09.2016, 16:46
Цитата Сообщение от Maluda Посмотреть сообщение
в винде в реалтайме
В винде нет реалтайма. Т.к. время срабатывания таймеров и приоритет обработки устройств не гарантированы. Во всяком случае со штатным кернелом а не сименсовским RTOS кернелом.

Добавлено через 4 минуты
Цитата Сообщение от Maluda Посмотреть сообщение
в трехмерке рендрерятся вещи такого объема
Прекрасно знаю какого. Только не в реалтайме а в лучшем случае в околореатайме, который для управления технологическими процессами не пригоден в принципе, максимум для игрушек.
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
09.09.2016, 17:00
Fulcrum_013, здесь ты кардинально путаешь понятия. Если бы я предложил Винду в качестве операционки, на которой будет работать ЭБУ, я бы согласился. А у нас задача параллельно мониторить работу. То есть в данном случае для нас не важны погрешности даже в десятки миллисекунд, так как человеческий глаз этого не заметит. Поэтому программы мониторинга ЭБУ есть и на Винде, и на Линуксе, и даже на Андроиде.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.09.2016, 17:04
Цитата Сообщение от Maluda Посмотреть сообщение
А у нас задача параллельно мониторить работу
Ну разве что это диагностические примочки а не нечто установленное в кабине и работающее в процессе езды. Потому как задержки могут совсем не миллисекундами и даже не милличасами исчисляться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2016, 17:04
Помогаю со студенческими работами здесь

VBS: Вывод данных(потока) в другое приложение и запуск с параметрами
Люди добрые, просьба помочь, в VBS я к сожалению полный профан.. Есть VBS скрипт, в который нужно добавить строчку запуска приложения...

Быстрый вывод картинок из БД
такая проблема: Адреса картинок лежат в бд. при показе картинки достается адрес из бд, по нему считывается файл file_get_contents....

Быстрый ввод и вывод
Добрый день. Прошу прощения за нубский вопрос, но все-таки... Хотелось бы узнать у гуру, какие операторы обеспечивают самый быстрой...

Быстрый вывод множества изображений одновременно
У меня есть двумерный массив. Каждому из 5 вариантов элемента массива соответствует своё изображение. Я с помощью обычного цикла...

Быстрый вывод программно созданного изображения
Здравствуйте=)! Программно создаются несколько изображений и хранятся в ОЗУ во время выполнения проги. Картинки порядка 1600Х1200, в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru