stringtranslate.com

Piscina (informática)

En informática , un pool es una colección de recursos que se guardan en la memoria, listos para usar, en lugar de la memoria adquirida en el momento del uso o la memoria liberada posteriormente. En este contexto, los recursos pueden hacer referencia a recursos del sistema , como los identificadores de archivos , que son externos a un proceso, o a recursos internos, como los objetos . Un cliente de pool solicita un recurso del pool y realiza las operaciones deseadas en el recurso devuelto. Cuando el cliente termina de usar el recurso, este se devuelve al pool en lugar de liberarse y perderse. [ aclaración necesaria ]

La agrupación de recursos puede ofrecer un aumento significativo del tiempo de respuesta en situaciones que tienen un alto costo asociado con la adquisición de recursos, una alta tasa de solicitudes de recursos y un bajo recuento general de recursos utilizados simultáneamente. La agrupación también es útil cuando la latencia es una preocupación, porque un grupo ofrece tiempos predecibles necesarios para obtener recursos ya que ya se han adquirido. Estos beneficios son principalmente ciertos para los recursos del sistema que requieren una llamada al sistema o recursos remotos que requieren una comunicación de red, como conexiones de base de datos , conexiones de socket , subprocesos y asignación de memoria . La agrupación también es útil para datos costosos de computar, en particular objetos gráficos grandes como fuentes o mapas de bits , actuando esencialmente como un caché de datos o una técnica de memorización .

Los casos especiales de grupos son los grupos de conexiones , los grupos de subprocesos y los grupos de memoria .

Grupos de objetos

Los pools también se pueden utilizar para objetos, en cuyo contexto un pool se refiere a un patrón de diseño para implementar pools en lenguajes orientados a objetos , como en el patrón de pool de objetos . Los objetos en sí mismos no contienen recursos externos y solo ocupan memoria, aunque un objeto ya creado evita la asignación de memoria requerida en la creación del objeto. Los pools de objetos son útiles cuando el costo de creación de objetos es alto, pero en ciertas situaciones esta simple agrupación de objetos puede no ser eficiente y, de hecho, podría disminuir el rendimiento. [1]

Referencias

  1. ^ "Teoría y práctica de Java: leyendas del rendimiento urbano, revisitadas". ibm.com . 2005-09-27. Archivado desde el original el 2011-12-29 . Consultado el 2013-10-31 .