Re[4]: Обработка данных и отрисовка в разных потоках
От: Аноним  
Дата: 12.12.10 14:36
Оценка:
Здравствуйте, nullptr_t, Вы писали:

_>Здравствуйте, alx7235, Вы писали:


A>>А как


_>очень просто. берешь что-нибудь вроде std::queue, критическую секцию, запускаешь поток, который вертится и принимает данные из порта. когда в него поступают данные: входишь в секцию, отправляешь сигнал (например, окну гуевого потока асинхронно сообщение WM_USER + 1234), заносишь данные, выходишь из секции. когда приходит сигнал в гуевый поток: входишь в секцию, забираешь данные, удаляешь те данные которые забрал, выходишь из секции, рисуешь. всё


_>самый просто пример. все тонкости его реализации уже на твоей совести

а что такое std::queue? Можно ли попроще без крит. секций сделать? Например, сделать глобальный массив, в который писать данные, а потом просто сигналить что они пришли, ждать с помощью waitforsingleobject? У меня проблема — не знаю как с гуевым потоком работать, т.е. у меня есть функция FormCreate, в ней создаю поток CreateThread для чтения с com-порта, не пойму как создать ожидание на отрисовку в гуевом потоке? Уж очень не хочется с крит. секциями разбираться.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.