Also in general, there should be exactly one reader of any particular mailbox — and zero or more writers — as protocol bugs are common with most bidirectional mailbox communications schemes. (The turn-around and the correct routing of the communications traffic is a particularly interesting area when using bi-directional mailbox traffic and multiple readers.)
Как можно сделать структуру, позволяющую несколько читателей?
ну в аудио процессинге есть понятие шины (bus) - когда подключается еще читатель, то например в майлбоксе заводится еще один отдельный указатель очереди и счетчик тех кто прочитал каждое сообщение
насчет счетчика я придумал, это просто для упрощения, но требует синхронизации про добавлении клиента (я считаю что это дешевле чем синхронизация на каждой операции чтения)