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 Alloc
ayrı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