Бассейн (информатика)
Эта статья нуждается в дополнительных цитатах для проверки . ( август 2015 г. ) |
В информатике пул — это совокупность ресурсов, которые хранятся в памяти и готовы к использованию, а не память, приобретаемая при использовании или память, освобождаемая впоследствии. В этом контексте ресурсы могут относиться к системным ресурсам , таким как дескрипторы файлов , которые являются внешними по отношению к процессу, или к внутренним ресурсам, таким как объекты . пула Клиент запрашивает ресурс из пула и выполняет необходимые операции с возвращенным ресурсом. Когда клиент завершает использование ресурса, он возвращается в пул, а не освобождается и теряется. [ нужны разъяснения ]
Объединение ресурсов в пул может обеспечить значительное увеличение времени отклика в ситуациях с высокими затратами, связанными с получением ресурсов, высокой частотой запросов на ресурсы и низким общим количеством одновременно используемых ресурсов. Объединение в пулы также полезно, когда задержка вызывает беспокойство, поскольку пул предлагает предсказуемое время, необходимое для получения ресурсов, поскольку они уже получены. Эти преимущества в основном справедливы для системных ресурсов, требующих системного вызова , или удаленных ресурсов, требующих сетевого взаимодействия, таких как соединения с базой данных , соединения сокетов , потоки и распределение памяти . Объединение в пулы также полезно для дорогостоящих для вычислений данных, особенно для больших графических объектов, таких как шрифты или растровые изображения , действуя по существу как кэш данных или метод мемоизации .
Особыми случаями пулов являются пулы соединений , пулы потоков и пулы памяти .
Пулы объектов
[ редактировать ]Пулы также можно использовать для объектов, в контексте которых пул относится к шаблону проектирования для реализации пулов на объектно-ориентированных языках , например, в шаблоне пула объектов . Сами объекты не содержат внешних ресурсов и занимают только память, хотя уже созданный объект избегает выделения памяти, необходимого для создания объекта. Пулы объектов полезны, когда стоимость создания объектов высока, но в определенных ситуациях такое простое объединение объектов в пул может быть неэффективным и фактически может снизить производительность. [1]
Ссылки
[ редактировать ]- ^ «Теория и практика Java: новые легенды о городской производительности» . IBM.com . 27 сентября 2005 г. Архивировано из оригинала 29 декабря 2011 г. Проверено 31 октября 2013 г.