Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
277
Tıklama
0
Öne Çıkarma
Dispose Finalize Ve Destructor Kavramları
S
6 yıl
Binbaşı
Konu Sahibi

Kavramları doğru kavramış mıyım teyit etmenizi istiyorum.

Refrance type değişken veya Bir classtan New anahtar sözcüğüyle nesne ürettiğim an o nesne heapte yer işgal etmeye başlıyor. Ve o nesne kullanılmadığında dispose ediliyor. Fakat ramde kalmaya devam ediyor. GC ne zaman gelirse o zaman ramden siliniyor.

Fakat ben bir nesnemin ramdeki durumunu GC ve normal süreç ile işlem görmesini istemediğim durumda o class için İdisposable arayüzünü implement ederek dispose metodunu yazıyorum. Bu metodu dışarıdan çağırabiliyorum destructordan farkı bu.

Dispose metodunda ilgili nesneyi dispose ettiğimde ram üzerinde referanslarından arındırılıyor fakat ramde kalmaya devam ediyor bu sebeple GC yi ben çağırıyorum ki bunun sebbi GC bin ne zaman geleceğinin belli olmaması.

GC geldi burda destructor çağrılmaması gerekiyor çünkü referanssız nesne erişime kapalı olması gerekiyor.

Dispose uygulanmış bir nesnenin destructor u çağrılır mı?

Destructor nesne GC vasıtasıyla silinmeden önce çalıştırılan method.

Finalize ve destructor teknik olarak aynı şeyler.



Yaptığım tanımlar ve yorumlar doğru mudur?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil