Я реализую пул памяти в C для приложения реального времени. Структура данных контейнера используется потоком программы в реальном времени для обработки данных определенного типа, которые необходимо добавить и удалить из контейнера. Реализация контейнера разработана таким образом, чтобы каждый экземпляр имел свой собственный пул памяти. (Хотя данные обрабатываются в потоке реального времени, фактическое создание контейнеров происходит в другом потоке).
Поскольку количество структур контейнеров данных не будет известно при запуске программы, преимущество этой модели для каждого экземпляра состоит в том, что используется только столько памяти, сколько необходимо - ограничение максимального объема данных, которые может содержать контейнер вполне разумно, но ограничение количества контейнеров более произвольно.
Но есть ли недостатки у пула памяти для каждого экземпляра?