LINUX.ORG.RU

Сообщения svetocopy

 

архитектура consumer/producer threads

Здравствуйте!

Не могу найти оптимальное решение для моей проблемы, поэтому обращаюсь за советом как грамотно построить архитектуру приложения.

В общем ситуация такая: producer thread производит данные (читает данные с сетевухи. после того, как пакеты соберутся выходная информация представляет собой uchar массив размером 3000 байт), consumer thread эти данные обрабатывает. Требуется эти два потока как-то состыковать, чтобы producer не терял пакеты и consumer своевременно обрабатывал.

Я пытался складывать данные в циркулярный буфер на семафорах (см. пример Qt) и потом в потоке обработке считывать, но это решение грузит процессор , относительно конечно, но для моей задачи процент загрузки не приемлим. Можно ли слать данные сигналом и как в таком случае быть уверенным, что все данные автоматически встанут в очередь и не потеряются?

Как грамотно решаются подобные задачи? Заранее спасибо!.

ps: время обработки данных является не постоянной величиной

svetocopy
()

исполнение задач на указанном ядре

здрасте, кто знает как посадить задачу(qthread) например на указанное ядро процессора?

svetocopy
()

RSS подписка на новые темы