Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение com - порта и синхронизация потоков [Win2k]


CHES ©   (2005-01-19 09:07:00) 

Предположим к com- порту подключено какое-нибудь устройство, с которого идет постоянный поток данных, которые нужно как-то обрабатывать, например, график строить. ИМХО логично организовать чтение данных из com-порта в отдельном потоке и писать данные в  буфер или массив.
Вопрос: какие могут варианты синхронизации потоков в подобной ситуации, чтобы не было конфликтов при доступе к этому буферу? Пока ничего лучше Synchronize() в голову не приходит. А если перед построением графика нужно произвести громоздкие вычисления? Не потяряю ли я данные с com-порта пока чего-то там считаю и рисую?


Digitman   (2005-01-19 09:39:00) [1]


> какие могут варианты синхронизации потоков в подобной ситуации,
> чтобы не было конфликтов при доступе к этому буферу?


Synchronize() - не самый худший способ, но кроме него синхронизацию можно осуществлять с помощью семафоров и мьютексов


> Не потяряю ли я данные с com-порта пока чего-то там считаю
> и рисую?


нет, не потеряешь.. если только сам к этому руку не приложишь


Наверх

Титульная страница Поиск, карта сайта Написать письмо