Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Особые случаи бассейнов являются пулами соединений , пулы потоков и пулы памяти .

Пулы объектов [ править ]

Пулы также могут использоваться для объектов, в этом контексте пул относится к шаблону проектирования для реализации пулов в объектно-ориентированных языках , например в шаблоне пула объектов . Сами объекты не содержат внешних ресурсов и занимают только память, хотя уже созданный объект позволяет избежать выделения памяти, необходимого для создания объекта. Пулы объектов полезны, когда стоимость создания объектов высока, но в определенных ситуациях этот простой пул объектов может быть неэффективным и фактически может снизить производительность. [1]

Ссылки [ править ]