GC รวบรวมทำอะไร python?
GC รวบรวมทำอะไร python?

วีดีโอ: GC รวบรวมทำอะไร python?

วีดีโอ: GC รวบรวมทำอะไร python?
วีดีโอ: Python GC Settings - Change This and Go 20% Faster! 2024, พฤศจิกายน
Anonim

gc – คนเก็บขยะ gc เปิดเผยกลไกการจัดการหน่วยความจำพื้นฐานของ Python , เครื่องเก็บขยะอัตโนมัติ โมดูลนี้มีฟังก์ชันสำหรับควบคุมวิธีการทำงานของตัวรวบรวมและตรวจสอบวัตถุที่ระบบรู้จัก ไม่ว่าจะอยู่ระหว่างดำเนินการ ของสะสม หรือติดอยู่ในวงจรอ้างอิงและไม่สามารถเป็นอิสระได้

นอกจากนี้ GC Collect ทำหน้าที่อะไร?

เมื่อคุณโทรไปที่ GC . เก็บรวบรวม () เมธอด รันไทม์ดำเนินการเดินสแต็กเพื่อกำหนดวัตถุที่เข้าถึงได้และวัตถุที่ไม่สามารถเข้าถึงได้ นอกจากนี้ยังหยุดเธรดหลัก (และเธรดย่อยที่สร้างขึ้น) ของแอปพลิเคชัน กล่าวอีกนัยหนึ่งเมื่อ GC.

อาจมีคนถามว่าหน่วยความจำถูกจัดการใน Python อย่างไร? Python ใช้ส่วนหนึ่งของ หน่วยความจำ สำหรับใช้ภายในและไม่ใช่วัตถุ หน่วยความจำ . CPython มีตัวจัดสรรวัตถุที่รับผิดชอบในการจัดสรร หน่วยความจำ ภายในวัตถุ หน่วยความจำ พื้นที่. ตัวจัดสรรวัตถุนี้เป็นที่ที่เวทมนตร์ส่วนใหญ่เกิดขึ้น มันถูกเรียกทุกครั้งที่วัตถุใหม่ต้องการพื้นที่ที่จัดสรรหรือลบ

ยังถามอีกว่า Del In Python ทำให้หน่วยความจำว่างหรือไม่

ตามที่อธิบายไว้ก่อนหน้านี้ Python ลบอ็อบเจ็กต์ที่ไม่ได้อ้างอิงถึงในโปรแกรมไปยัง ฟรี ขึ้น หน่วยความจำ ช่องว่าง. กระบวนการนี้ซึ่ง Python ปลดบล็อคของ หน่วยความจำ ที่เลิกใช้แล้ว เป็น เรียกว่าการเก็บขยะ NS หน่วยความจำคือ ฮีปที่มีอ็อบเจ็กต์และโครงสร้างข้อมูลอื่นๆ ที่ใช้ในโปรแกรม

GC collect ทำงานอย่างไร?

GC เวิร์ค บนฮีปที่มีการจัดการซึ่งไม่มีอะไรเลยนอกจากบล็อกหน่วยความจำสำหรับจัดเก็บวัตถุเมื่อ เก็บขยะ กระบวนการถูกทำให้เคลื่อนไหว มันจะตรวจสอบวัตถุที่ตายแล้วและวัตถุที่ไม่ได้ใช้อีกต่อไป จากนั้นจะกระชับพื้นที่ของวัตถุที่มีชีวิตและพยายามเพิ่มหน่วยความจำให้มากขึ้น

แนะนำ: