Pool (datalogi) - Pool (computer science)
I datalogi er en pulje en samling ressourcer , der holdes klar til brug, snarere end erhvervet ved brug og frigives bagefter. I denne sammenhæng kan ressourcer henvise til systemressourcer såsom filhåndtag , der er eksterne for en proces, eller interne ressourcer såsom objekter . En poolklient anmoder om en ressource fra puljen og udfører de ønskede operationer på den returnerede ressource. Når klienten er færdig med at bruge ressourcen, returneres den til puljen i stedet for frigivet og tabt.
Samlingen af ressourcer kan tilbyde et betydeligt boost-responstid i situationer, der har høje omkostninger forbundet med ressourceoptagelse, høj hastighed af anmodningerne om ressourcer og et lavt samlet antal af samtidigt anvendte ressourcer. Pooling er også nyttigt, når ventetid er et problem, fordi en pool tilbyder forudsigelige tider, der kræves for at skaffe ressourcer, da de allerede er erhvervet. Disse fordele gælder for det meste for systemressourcer, der kræver et systemopkald , eller eksterne ressourcer, der kræver netværkskommunikation, såsom databaseforbindelser , sokkelforbindelser , tråde og hukommelsestildeling . Pooling er også nyttigt for dyre-til-compute data, især store grafikobjekter ligesom skrifttyper eller bitmaps , der handler i det væsentlige som en data- cache eller en memoization teknik.
Særlige tilfælde af puljer er forbindelsesbassiner , trådpuljer og hukommelsespuljer .
Objekt puljer
Puljer kan også bruges til objekter, i hvilken sammenhæng en pool refererer til et designmønster til implementering af puljer på objektorienterede sprog , såsom i objektpuljemønsteret . Objekter i sig selv har ingen eksterne ressourcer og optager kun hukommelse, selvom et allerede oprettet objekt undgår den hukommelsesallokering, der kræves ved oprettelse af objekt. Objektpuljer er nyttige, når omkostningerne ved oprettelse af objekter er høje, men i visse situationer er denne enkle objektsamling muligvis ikke effektiv og kan faktisk nedsætte ydeevnen.
Referencer
| Denne database- relaterede artikel er en stub . Du kan hjælpe Wikipedia ved at udvide den . |