Writer / Reader, где читатель должен читать 2 раза подряд - PullRequest
0 голосов
/ 15 ноября 2018

Так что у меня есть эта проблема, которая является классической проблемой писателя / читателя только с изюминкой.

Допустим, например, что у вас есть один писатель и несколько читателей. Автор помещает несколько сообщений в общую структуру данных (сообщение содержит два небольших сообщения), поэтому структура данных будет выглядеть примерно так: [m11 m12 m21 m22 m31 m32 ..],

где первый номер - номер сообщения, а второй номер - номер детали. Как я могу заставить читателя получать одно из сообщений, не прерывая его другому читателю?

Например:

Если читатель 1 берет m11, я хочу, чтобы общий ресурс был заблокирован, пока он также не прочитает m12.

Решение должно быть сделано только с семафорами или замками, и читатель может читать только одно сообщение за раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...