![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение com - порта и синхронизация потоков [Win2k]
CHES © (2005-01-19 09:07:00)Предположим к com- порту подключено какое-нибудь устройство, с которого идет постоянный поток данных, которые нужно как-то обрабатывать, например, график строить. ИМХО логично организовать чтение данных из com-порта в отдельном потоке и писать данные в буфер или массив.
Вопрос: какие могут варианты синхронизации потоков в подобной ситуации, чтобы не было конфликтов при доступе к этому буферу? Пока ничего лучше Synchronize() в голову не приходит. А если перед построением графика нужно произвести громоздкие вычисления? Не потяряю ли я данные с com-порта пока чего-то там считаю и рисую?
Digitman (2005-01-19 09:39:00) [1]
> какие могут варианты синхронизации потоков в подобной ситуации,
> чтобы не было конфликтов при доступе к этому буферу?
Synchronize() - не самый худший способ, но кроме него синхронизацию можно осуществлять с помощью семафоров и мьютексов
> Не потяряю ли я данные с com-порта пока чего-то там считаю
> и рисую?
нет, не потеряешь.. если только сам к этому руку не приложишь