Megosztás a következőn keresztül:


Memóriakezelési függvények

Ez a dokumentum azokat a memóriakezelési függvényeket ismerteti, amelyeket az egyidejűségi futtatókörnyezet biztosít, amelyekkel egyidejűleg lefoglalhatja és felszabadíthatja a memóriát.

Jótanács

Az egyidejűségi futtatókörnyezet alapértelmezett ütemezőt biztosít, ezért nem kell létrehoznia egyet az alkalmazásban. Mivel a Feladatütemező segít az alkalmazások teljesítményének finomhangolásában, javasoljuk, hogy a párhuzamos minták tárával (PPL) vagy az aszinkron ügynökök tárával kezdje, ha még nem használja az egyidejűségi futtatókörnyezetet.

Az egyidejűségi futtatókörnyezet két memóriakezelési funkciót biztosít, amelyek a memóriablokkok egyidejű elosztására és felszabadítására vannak optimalizálva. A concurrency::Alloc függvény a megadott mérettel lefoglal egy memóriablokkot. Az concurrency::Free függvény felszabadítja a Alloc által lefoglalt memóriát.

Megjegyzés:

A Alloc és Free függvények egymásra támaszkodnak. A Free függvényt csak arra használja, hogy felszabadítsa azokat a memóriákat, amelyeket a Alloc függvénnyel foglal le. Emellett, amikor a Alloc függvényt használja memória lefoglalására, akkor a Free függvényt használja ennek a memóriának a felszabadítására.

Használja a Alloc és Free függvényeket, amikor rögzített foglalási méreteket foglal le és szabadít fel különböző szálak vagy tevékenységek esetében. A párhuzamos futtatókörnyezet gyorsítótárazza azt a memóriát, amelyet a C futtatókörnyezet kupacából foglal le. Az egyidejűségi futtatókörnyezet minden futó szálhoz külön memória-gyorsítótárat tartalmaz; ezért a futtatókörnyezet zárolások vagy memóriakorlátok használata nélkül kezeli a memóriát. Az alkalmazás jobban kihasználja a Alloc és Free függvényeket, ha a memóriagyorsítótárat gyakrabban érik el. Például egy olyan szál, amely gyakran hívja mindkettőt, a Alloc-t és a Free-t, több előnyt élvez, mint egy olyan szál, amely elsősorban a Alloc-t vagy a Free-t hívja meg.

Megjegyzés:

Ha ezeket a memóriakezelési függvényeket használja, és az alkalmazás sok memóriát használ, előfordulhat, hogy az alkalmazás a vártnál hamarabb alacsony memóriaállapotba kerül. Mivel az egyik szál által gyorsítótárazott memóriablokkok nem érhetők el a többi szál számára, ha az egyik szál sok memóriát tartalmaz, az a memória nem áll rendelkezésre.

példa

Egy olyan példát, amely a Alloc és Free függvényeket használja a memória teljesítményének javítására, olvassa el a How to: Use Alloc and Free to Improve Memory Performance (Az Alloc és a Free használata a memória teljesítményének javítása érdekében) című témakört.

Lásd még

Feladatütemező
Útmutató: Az Alloc és a Free használata a memória teljesítményének javításához