Как организовать запись в один файл нескольких источников бинарной информации?
Для наглядности нарисовал представление некоего контейнера:
Длина контейнера определена 
временным интервалом.
Количество потоков от 0 до N, определяется при 
создании контейнера.
Завершение потока(ов) не известно, 
записывать надо пока поступают данные и размер входной информации удовлетворяет длине контейнера.
Поле "no data" не должно быть явным и иметь размер, соответственно не должно 
влиять на размер контейнера.
В процессе записи к контейнеру возможен доступ для чтения другим процессом, т.о.  
дозапись недолжна влиять на данные записанные раннее.
Чтение контейнера осуществляется по конкретному потоку, с определенного штампа времени и должно быть 
максимально линейно.
Что можете 
посоветовать для реализации такого рода задачи?