سلام بچه ها کسی راجع به garbage collector ها در C# اطلاعی داره؟!
Printable View
سلام بچه ها کسی راجع به garbage collector ها در C# اطلاعی داره؟!
برگرفته از:نقل قول:
Garbage Collection: در زبان برنامه نويسي سي شارپ ديگر نگراني از جهت مديريت اشياء در حافظه وجود ندارد به اين معني كه وقتي شما شيء ايجاد مي كنيد بعد از اينكه ديگر از آن شي ء استفاده نكرديد آن شيء به طور اتوماتيك از حافظه پاك خواهد شد. اين كار توسط GC يا همان Garbage Collector انجام مي شود.
روش كار GC به اين ترتيب است كه تا موقعي كه Referenceي به يك object وجود داشته باشد آن شيء در حافظه باقي خواهد ماند اما در صورتيكه Referenceي به آن شيء وجود نداشته باشد بعد از يك بازه زماني نامشخص آن شيء به صورت اتوماتيك از حافظه پاك خواهد شد. در مورد نحوه عملكردش بعدا بيشتر توضيح ميدم.
اگه سرچ بزنی هم مطالب زیادی رو اینترنت هست:کد:http://pnuitclub.blogfa.com/post-42.aspx
کد:http://www.c-sharpcorner.com/UploadFile/DipalChoksi/UnderstandingGarbageCollectioninNETFramework11292005051110AM/UnderstandingGarbageCollectioninNETFramework.aspx
کد:http://www.developer.com/net/csharp/article.php/3343191
از توضیحاتتون ممنون
یعنی این Garbage collector کاری که می کنه اینه که خود کلاس رو در انتها خود به خود پاک میکنه
یعنی تو c# لازم نیست مثل c++ کلاسها رو در انتها حذف کنیم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
خیر!
خودش چک می کنه اگه هیچ اشاره گری به اون شئ وجود نداشت (یهنی اون تیکه از حافظه از هیج جایی قابل دسترس نبود) اون قطعه زباله! هست و اون رو حذف می کنه.
البته چون پردازش سنگینیه هر چند مدت یه بار (و یا در زمان های خاصی) اجرا میشه. همچنین دستوراتی هست که میشه اون رو بوسیله کد اجرا کرد.