• Domingo 22 de Diciembre de 2024, 18:32

Autor Tema:  Pool  (Leído 1440 veces)

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Pool
« en: Martes 7 de Marzo de 2006, 17:53 »
0
:o    Hola Compañeros: me encomendaron averiguar sobre estas cosas llamadas POOL, no se qu etraducen pero encontré algo din formacion sobre esto y es algo asi como un Conjunto de objetos sin estados mejor dicho es lo siguiente:


Trabajar con 'pools' de objetos ('grupos de objetos' de ahora en adelante) se encuadra dentro de las técnicas de mejora del rendimiento de aplicaciones (principalmente aplicaciones de servidor) o como técnicas de gestión de un conjunto limitado de recursos (como podría ser en las conexiones a una base de datos). *  

   :huh:  
*Tomado de MSDN


la verdad aun no lo tengo muy claro, asi que si alguien ha trabajaodo con esto ya sea C# o VB no importa agradezco cualquier ayuda que me puedan proporcionar


Gracias y Salu2
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Pool
« Respuesta #1 en: Martes 7 de Marzo de 2006, 23:39 »
0
Generalmente se usa cuando tienes un algoritmo que crea y destruye objetos continuamente. La idea general es tener un administrador de estos objetos y no llamar directamente al constructor ni al destructor, sino a funciones del administrador de ese pool de objetos para reservar un objeto o para liberarlo.

El administrador del pool objetos se encarga de crear una cantidad de estos inicialmente y a medida que le van pidiendo mas objetos vuelve a crear otro paquete de estos de forma que no tenga que crear el paquete muy seguido ni cree tantos objetos que la mayoria nunca sean usados. Al liberar un paquete lo que hace es marcarlo como disponible para entregarlo al proceso que necesite un objeto nuevo. Si existen varios objetos liberados en el pool de objetos, entonces recien procede a liberar la memoria que ocupan de forma de evitar tener que volver a reservar esa memoria nuevamente.

Esto es especialmente efectivo si los objetos no tienen mucho peso en memoria, por ejemplo menos de 4kb, para evitar molestar continuamente al sistema operativo que administra la memoria y para evitar fragmentar la memoria RAM de forma que los bloques reservados/liberados sean de megas en lugar de kbytes.

Tambien sirve de mucho para evitar bugs por administracion de memoria ya que toda la adiministracion de esta esta centralizada en el administrador de objetos del pool y si queremos podemos potenciarlo de tal forma que podamos pedir informacion de que funcion/proceso pidio reservar un objeto, cuando lo hizo y sacar estadisticas de reserva/liberacion de los objetos del pool.

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Pool
« Respuesta #2 en: Martes 7 de Marzo de 2006, 23:52 »
0
Gracias Amilius,
ahora tengo un poco mas claro lo que es esto, la otra cuestion es que leí en algun lugar, que un Pool puede contener muchos objetos, tal como dijiste,  pero que esos objetos pueden ser Thread(Hilos), tonces como hago para invocar un hilo que este dentro del pool... es lo que estoy averiguando, una ves mas gracias y  que la Inteligencia te acompañe :lightsabre:


salu2 :hola:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]