Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Вниз

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

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

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


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


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


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


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


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



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

Форум: "WinAPI";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.037 c
3-1107759082
DmitryNekl
2005-02-07 09:51
2005.03.06
Как создать вычисляемое поле в run-time?


9-1101904980
VolanD666
2004-12-01 15:43
2005.03.06
Корявая прорисовка (Direct3D)


3-1107514881
Yerbol
2005-02-04 14:01
2005.03.06
как быстро открыть БД из 130000 зап с небольшой потерей памяти


1-1108570275
GanibalLector
2005-02-16 19:11
2005.03.06
"ХР-манифест"


14-1107803550
Nic87
2005-02-07 22:12
2005.03.06
музыка NFS 5 Pirshe





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский