Пул объектов (Object Pool) — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Описание)
(Описание)
Строка 5: Строка 5:
  
 
=== Описание ===
 
=== Описание ===
Создание экземпляров некоторого класса может требовать довольно больших затрат. Программа может избежать создания новых объектов если будет повторно использовать объекты, с которыми она уже завершила работу.
+
Создание экземпляров некоторого класса может требовать довольно больших затрат. В этом случае решением может быть создание в начале работы программы '''объектного пула''' - набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула.
 +
Когда объект больше не нужен, он не уничтожается, а возвращается в пул.
  
 
+
Особенно заметно повышение производительности когда объекты часто создаются-уничтожаются, но одновременно существует их небольшое число.
Имеется ряд ситуаций, когда программа может создавать только ограниченное количество экземпляров некоторого класса.
 
  
 
=== Использование ===
 
=== Использование ===

Версия 07:09, 7 октября 2014

К основной странице курса

Назначение

Обеспечивает интерфейс для работы с набором инициализированных и готовых к использованию объектов.

Описание

Создание экземпляров некоторого класса может требовать довольно больших затрат. В этом случае решением может быть создание в начале работы программы объектного пула - набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула. Когда объект больше не нужен, он не уничтожается, а возвращается в пул.

Особенно заметно повышение производительности когда объекты часто создаются-уничтожаются, но одновременно существует их небольшое число.

Использование

Реализация

Диаграмма классов

Файл:Common.png

Участники

Пример

Достоинства и недостатки

Варианты