Вниз
Скачать: CL | DM;

Чтение com - порта и синхронизация потоков   Найти похожие ветки 

 
CHES ©   (2005-01-19 09:07) [0]

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


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


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


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


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


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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.035 c
1-1108728732
Cosinus
2005-02-18 15:12
2005.03.06
Обращение к объектам, расположенным на MDIChild из MdiMain


1-1108995066
Q21
2005-02-21 17:11
2005.03.06
При переходе на новый профиль в Windows исчезли все компоненты!


6-1104411289
Sveta_cc
2004-12-30 15:54
2005.03.06
Server Socket ClientSocket


1-1109089449
Серьезный Сэм
2005-02-22 19:24
2005.03.06
TSpinEdit


1-1108996059
XP
2005-02-21 17:27
2005.03.06
Возможно ли "зависание" в этом коде из VCL? (критические секции)




   Наверх