Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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