Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Pool (Informatik)

Ein Pool ist in der Informatik eine Menge vorinitialisierter Ressourcen, die jederzeit einsatzbereit sind, statt bei Bedarf jedes Mal alloziert und danach …

Inhalt3 Abschnitte
  1. 1. Grundprinzip und Nutzen
  2. 2. Typische Pools
  3. 3. Pooling als Entwurfsmuster

Grundprinzip und Nutzen

Ein Pool ist in der Informatik eine Menge vorinitialisierter Ressourcen, die jederzeit einsatzbereit sind. Statt eine Ressource bei jedem Bedarf neu zu allozieren und anschließend zu zerstören, fordert ein Client ein Objekt aus dem Pool an, führt damit Operationen aus und gibt es danach an den Pool zurück.

Pooling kann die Leistung deutlich steigern, wenn die Initialisierung einer Ressource viel Zeit oder Aufwand verursacht, aber nur wenige Instanzen gleichzeitig benötigt werden. Eine vorhandene Pool-Instanz ist in vorhersagbarer Zeit verfügbar; das Erzeugen neuer Instanzen kann dagegen unterschiedlich lange dauern, besonders über ein Netzwerk. Besonders geeignet ist Pooling etwa für Datenbankverbindungen, Sockets sowie Thread- und Grafikobjekte wie Fonts oder Bitmaps.

Typische Pools

  • Ein Connection Pool ist ein Cache für Datenbankverbindungen.
  • Ein Proxy-Pool ist ein Cache für Verbindungen zu Webservices.
  • Bei einem Speicherpool werden gleich große Speicherblöcke vorab bereitgestellt.
  • Ein Druckerpool verteilt Druckaufträge automatisch auf Drucker.

Pooling als Entwurfsmuster

Entwurfsmuster sind bewährte Lösungsansätze für häufig auftretende Probleme. Pooling-Mechanismen bilden die Grundlage für mehrere solcher Muster.

Ein Thread-Pool bearbeitet Tasks, meist aus einer Warteschlange, mithilfe eines Pools von Threads. Er wird von einem Prozess-Scheduler verwaltet.

Ein Objekt-Pool hält in der imperativ-objektorientierten Softwareentwicklung ein Objekt mit veränderlichem Zustand im Arbeitsspeicher, damit es später wiederverwendet werden kann.

Weiterlesen