Pythonдо таштанды жыйноочу барбы?
Pythonдо таштанды жыйноочу барбы?

Video: Pythonдо таштанды жыйноочу барбы?

Video: Pythonдо таштанды жыйноочу барбы?
Video: ТАШТАНДЫ ПОЛИГОНУ ТОСУЛУП, ВИДЕО БАЙКОО ОРНОТУЛУУДА 2024, Ноябрь
Anonim

Таштанды чогултуу ичинде Python . Python's эс бөлүштүрүү жана ажыратуу ыкмасы автоматтык болуп саналат. Колдонуучу кылат жок бар C же C++ сыяктуу тилдерде динамикалык эстутум бөлүштүрүүнү колдонууга окшош эстутумду алдын ала бөлүштүрүү же ажыратуу.

Андан тышкары, Pythonдо таштанды жыйноочу деген эмне?

Кайсы процесс Python пайдаланылбай калган эстутум блокторун мезгил-мезгили менен бошотот жана калыбына келтирет деп аталат Таштанды чогултуу . Python таштанды жыйноочу программанын аткарылышы учурунда иштейт жана объекттин шилтеме саны нөлгө жеткенде иштетилет.

Ошондой эле билесизби, Python Del эстутумду бошотабы? Себеп болуп саналат блок болгондо болуп саналат деп эсептелген " бекер ", ошол эс болуп саналат иш жүзүндө кайра иштетүү тутумуна бошотулган эмес. The Python процесс аны бөлүштүрөт жана сактайт болот аны кийинчерээк жаңы маалыматтар үчүн колдонуңуз. Чынында эстутум бошотуу колдонуу үчүн операциялык системага кайтарат. Ареналар бир гана нерсе болот чындап боштондук.

Ошондой эле билесизби, таштанды жыйноочу эмне кылат?

The таштанды жыйноочу , же жөн гана коллекционер , кайра алуу аракети таштанды , же объекттер ээлеген эс болуп саналат мындан ары программа тарабынан колдонулбайт. Тармак розеткалары, маалымат базасынын туткалары, колдонуучунун өз ара аракеттенүү терезелери, файл жана түзмөк дескрипторлору сыяктуу эстутумдан башка ресурстар, болуп саналат тарабынан эмес, адатта таштанды чогултуу.

Эмне үчүн C++те таштанды жыйноочу жок?

C++ башында C кеңейтүүсү болгон - тандоо мурунтан эле жасалган жана кыйыштыруу абдан кыйын таштанды чогултуу бар тилге. C++ үчүн таштанды жыйгычтын кереги жок , анткени ал бар жок таштанды . Заманбапта C++ сиз акылдуу көрсөткүчтөрдү колдоносуз жана ошондуктан бар жок таштанды.

Сунушталууда: