Пул объектов (Object pool)

Пул объектов – это порождающий шаблон проектирования, который представляет собой набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула. Когда объект больше не нужен, он не уничтожается, а возвращается в пул (при этом состояние объекта сбрасывается до начального). Шаблон применяется для повышения производительности, если объекты часто создаются и уничтожаются, а также, если создание и уничтожение объекта являются затратными операциями.

При практической реализации шаблона особого внимания заслуживает стратегия поведения при переполнении пула. В этом случае возможен один из трёх вариантов: расширение пула; отказ в создании объекта и аварийный останов; ожидание освобождения одного из объектов в пуле.

Примером реализации шаблона Пул объектов является существующий на платформе.NET пул потоков, для работы с которым используется класс System.Threading.ThreadPool.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: