Kas yra rankenos nutekėjimas?

Rankenėlės nutekėjimas yra išteklių nutekėjimo tipas, situacija, kai programa pernelyg išnaudoja ribotus skaičiavimo išteklius, pvz., atmintį. Rankenėlės nutekėjimas atsiranda, kai programa atidaro „rankeną“, specialų sistemos išteklių nuorodos tipą, ir neuždaro tos rankenos, kai jos nebereikia. Jie gali sumažinti našumą, sukelti programos ar sistemos gedimus ir gali būti didelių klaidų ar aplaidžio programinės įrangos kodavimo požymis. Programuotojams yra prieinama daug trikčių šalinimo įrankių, padedančių kovoti su nutekėjimu.

Kompiuterių programavime rankena yra struktūra, nurodanti sistemos išteklius, pvz., atminties bloką arba failą diske. Rankenos suteikia sistemos išteklių ir programų abstrakcijos sluoksnį ir paprastai jas valdo kompiuterio operacinė sistema per „rankenėlių lentelę“, kuri kiekvieną rankenėlę suderina su ištekliu. Programuotojas gali naudoti rankenėlę, norėdamas nurodyti langą, kurį operacinė sistema nupiešia ekrane.

Tinkamai veikianti programa išleis jai nebereikalingas rankenas, atlaisvins išteklius ir užtikrins, kad operacinė sistema nevaldytų nenaudojamų išteklių. Programavimo klaidos, programinės įrangos klaidos ir programinės įrangos nesuderinamumas gali priversti programas laikyti rankenas, kurių joms nebereikia. Kai programa ir toliau veikia, joje gali susikaupti daug nereikalingų rankenėlių. Tai žinoma kaip rankenos nutekėjimas.

Rankenėlių nutekėjimas, kaip ir kitų tipų išteklių nutekėjimas, gali sukelti lėtą veikimą, sistemos nestabilumą arba, kraštutiniais atvejais, kompiuterio gedimą. Taip yra todėl, kad rankenos sunaudoja ribotus išteklius, pvz., sistemos atmintį, ir jei programa sukuria per daug rankenėlių jų neuždarydama, šie ištekliai išsenka. Tiksli riba, kurią pasiekus rankenos nutekėjimą pradeda kelti problemų, priklauso nuo kompiuterio operacinės sistemos, laisvos atminties kiekio ir kitų veiksnių. Nuotėkio, kuriame paliekamos kelios dešimtys atidarytų rankenėlių, vartotojai tikriausiai nepastebės, o dešimties tūkstančių ar daugiau rankenėlių nutekėjimas yra rimtos programos kodo klaidos požymis.

Programuotojai turi atkreipti ypatingą dėmesį į nutekėjimo valdymą, nes jie gali sukelti problemų. Pats paprasčiausias rankenėlės nuotėkio diagnozavimo metodas yra stebėti rankenėlių skaičių, kuris yra proceso ar programos šiuo metu atidarytų rankenėlių skaičius, kai programa veikia. „Windows®“ užduočių tvarkyklė gali rodyti šią informaciją, o trečiųjų šalių paslaugų programos, skirtos „Windows®“ ir kitoms operacinėms sistemoms, taip pat gali būti naudingos nustatant ir aptinkant nesandarias rankenas.