Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Всегда ли нужен Synchronize для TThread, Synchronize и TThread 
:(
    Опции темы
Alexeis
Дата 6.2.2015, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 26
Всего: 459



Цитата(gAlexKo @  6.2.2015,  09:27 Найти цитируемый пост)
не должен быть в конфликте с VCL?

  Почем не должен? Допустим внутри функции Add изменяется состояние полей объекта Lines или самого Memo, что помешает системе VCL внутри произвести действия с этим же полем в главном потоке. Пользователь редактирует текст, двигает мышь, крутит скрол, сворачивает окно, передает ему фокус, меняет размеры и т.д. на любые действия шлются сообщения, которые перехватываются внутри кода VCL. В ответ на сообщение меняется состояние объекта. И все это делается в главном потоке. Даже элементарно перерисовка. Добавляем текст, происходит прокрутка внутри мемо, старое изображение должно перерисоваться, а все эти механизмы должны исполнятся из главного потока.

  Для своего проекта я решил эту проблему следующим образом. Строки, которые нужно отобразить, я буферизирую. Доступ к буферу защищаю критическое секцией. На каждый записанный буфер я увеличиваю счетчик семафора. Главный поток вычитывая каждый элемент буфера уменьшает счетчик семафора, а когда элементов нет, засыпает на семафоре ожидая прихода сообщений Windows или сигналов семафора. Это самое производительное, но одновременно и самое сложное решение. Сообщения проще. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0811 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.