Информация об изменениях

Сообщение Re[2]: Вопрос по boost lockfree queue от 26.04.2015 15:41

Изменено 26.04.2015 16:01 Engler

Здравствуйте, Vain, Вы писали:
E>>void consumer(void)
V>А что консумер какой-то странный, с двумя циклами и флажком? Разве там в очередь не надо какой-либо quit или eof вставлять (с boost queue не знаком)?
Консьюмер нормальный.
Флажок нужен для того, что бы знать, когда выходить из общего цилка чтения. Т.е либо читать N сообщений из очереди и закругляться. Либо ждать пока тебе скажут, что все отослали. Тут просто второй вариант.

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

P.S: можно конечно eof в сообщение встроить, но это нагрузка на payload, да и принципиально не меняется вопроса.
Re[2]: Вопрос по boost lockfree queue
Здравствуйте, Vain, Вы писали:
E>>void consumer(void)
V>А что консумер какой-то странный, с двумя циклами и флажком? Разве там в очередь не надо какой-либо quit или eof вставлять (с boost queue не знаком)?
Консьюмер нормальный.
Флажок нужен для того, что бы знать, когда выходить из общего цилка чтения. Т.е либо читать N сообщений из очереди и закругляться. Либо ждать пока тебе скажут, что все отослали. Тут просто второй вариант.

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

P.S: можно конечно eof в сообщение встроить, но это нагрузка на payload, да и принципиально не меняет суть вопроса.