PROFI'den SUPERPROFI'ye kadar tüm sorularınız - 1. - sayfa 29

 
sergeev :

Tutamaç kapatıldığında, bellek (CreateFileMapping'de belirtilenden fazla olarak ayrılan) geri dönmüyor mu?
Özgür bırakılmış. Ama bu sonunda. İş sürecinde hafızadan tasarruf etmek gerekir.
 
neyin sonunda? Windows'un sonu veya tutamacı kapatmak veya uygulamayı kapatmak mı?
 
sergeev :
neyin sonunda? Windows'un sonu veya tutamacı kapatmak veya uygulamayı kapatmak mı?
Aralarından seçim yapabileceğiniz herkes. Yine de, bu son.
 
peki, tutamacı kapatırken herhangi bir bellek sızıntısı olmayacaksa, bu Windows'un olağan işidir - tanıtıcı silindiğinde belleği boşaltmak
 

Her nasılsa yanlış - tanımlayıcıyı kapatarak çalışma sürecinde belleği serbest bırakmak.

Windows için umut olmadan bellek serbest bırakılmalıdır.

 
:) ama o zaman başka nasıl serbest bırakılır? seçilen her şey, sonra silindi. MSDN'de, Eşleme ile çalışırken, tutamacı kapatmadan önce belleği manuel olarak boşaltmak hakkında hiçbir şey söylenmez
 
sergeev :
:) ama o zaman başka nasıl serbest bırakılır? seçilen her şey, sonra silindi. MSDN'de, Eşleme ile çalışırken, tutamacı kapatmadan önce belleği manuel olarak boşaltmak hakkında hiçbir şey söylenmez
Yani kulp kapandıktan sonra bahsetmiyorum. Bellekle çalışırken, tahsisinin boyutunu dinamik olarak değiştirin. Ama her zaman yapılması da gerekmiyor. Sürekli yeniden tahsis zaman alır.
 

Vadim. tam olarak ne anlıyoruz?

Belleği genişletmenin iki yolunu buldum. Her iki durumda da bellek sızıntılarıyla ilgili sorunlar olacağını düşünüyor musunuz?

 

Tüm tutamaçlar kapalıysa, sızıntı olmayacaktır. Sızıntı, bir programın boşaltılması ancak kaynakları meşgul etmesidir.

Ancak aşırı büyük bellek tüketimi ile ilgili sorunlar mümkündür. Geçenlerde kendim bununla karşılaştım. Zaman serileriyle çalışmak için yanlış sınıfa bağlanıldı. Bağlandı, hangi indeksleri saniyede keneler. Aylık çubuklarla çalışmak için böyle bir sınıf oldu. Tüm hafıza 30 saniye içinde silip süpürdü. Bu olası seçeneklerden biridir. Bunun izlenmesi ve önlenmesi gerekir.

İkinci seçenek, programın çok fazla belleğe ihtiyaç duymasıdır, örneğin 1000 MB, ancak uzun sürmez. Serbest bırakılmazsa, programınız kaldırılana kadar diğer programların bu 1000 MB'si daha az olacaktır.

Tek kelimeyle, kaynakların tüketimini izlemek gerekir.

 
TAMAM. Göz önünde bulundurmak.
Neden: