Aracılığıyla paylaş


Bellek Yönetimi İşlevleri

Bu belgede Eşzamanlılık Çalışma Zamanı'nın eşzamanlı olarak bellek ayırmanıza ve boşaltmanıza yardımcı olmak için sağladığı bellek yönetimi işlevleri açıklanır.

İpucu

Eşzamanlılık Çalışma Zamanı varsayılan bir zamanlayıcı sağlar ve bu nedenle uygulamanızda bir zamanlayıcı oluşturmanız gerekmez. Görev Zamanlayıcı, uygulamalarınızın performansında ince ayarlamalar yapmanızı sağladığından Eşzamanlılık Çalışma Zamanı'nı kullanmaya yeni başladıysanız Paralel Desenler Kitaplığı (PPL) veya Zaman Uyumsuz Aracılar Kitaplığı ile başlamanızı öneririz.

Eşzamanlılık Çalışma Zamanı, bellek bloklarını eş zamanlı olarak ayırma ve boşaltma için iyileştirilmiş iki bellek yönetimi işlevi sağlar. concurrency::Alloc işlevi, belirtilen boyutu kullanarak bir bellek bloğu ayırır. concurrency::Free işlevi tarafından Allocayrılan belleği serbest bırakır.

Not

Alloc ve Free işlevleri birbirine bağlıdır. Free işlevini yalnızca işlevini kullanarak ayırdığınız belleği serbest bırakmak için Alloc kullanın. Ayrıca, belleği ayırmak için işlevini kullandığınızda Alloc , yalnızca Free bu belleği serbest bırakmak için işlevini kullanın.

Farklı iş parçacıklarından Alloc veya görevlerden sabit bir ayırma boyutu kümesi ayırıp serbest kurduğunuzda ve Free işlevlerini kullanın. Eşzamanlılık Çalışma Zamanı, C Çalışma Zamanı yığınından ayırdığı belleği önbelleğe alır. Eşzamanlılık Çalışma Zamanı, çalışan her iş parçacığı için ayrı bir bellek önbelleği tutar; bu nedenle çalışma zamanı, kilitler veya bellek engelleri kullanmadan belleği yönetir. Bir uygulama, bellek önbelleğine Alloc daha sık erişildiğinde ve Free işlevlerinden daha fazla yararlanır. Örneğin, sık sık hem çağıran hem Free de Alloc birincil olarak Alloc veya Freeçağıran bir iş parçacığından daha fazla fayda sağlayan bir iş parçacığı.

Not

Bu bellek yönetimi işlevlerini kullandığınızda ve uygulamanız çok fazla bellek kullandığında, uygulama beklediğinizden daha erken bir düşük bellek koşulu girebilir. Bir iş parçacığı tarafından önbelleğe alınan bellek blokları başka bir iş parçacığı tarafından kullanılamadığından, bir iş parçacığı çok fazla bellek barındırıyorsa, bu bellek kullanılamaz.

Örnek

Bellek performansını geliştirmek için ve işlevlerini kullanan Alloc bir örnek için bkz. Nasıl yapılır: Bellek Performansını Geliştirmek için Ayırma ve Ücretsiz Free Kullanma.

Ayrıca bkz.

Görev Zamanlayıcı
Nasıl yapılır: Bellek Performansını Artırmak için Alloc ve Free Kullanma