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.
Minden új szál vagy szál saját veremterületet kap, amely fenntartott és eredetileg lekötött memóriából áll. A fenntartott memória mérete a virtuális memóriában lévő összes veremfoglalást jelöli. Ezért a fenntartott méret a virtuális címtartományra korlátozódik. Az eredetileg véglegesített lapok csak a fizikai memóriát használják, amíg nem hivatkoznak rájuk; azonban eltávolítják az oldalakat a rendszer teljes véglegesítési korlátjából, amely az oldalfájl mérete és a fizikai memória mérete. A rendszer szükség szerint véglegesíti a további lapokat a fenntartott verem memóriájából, amíg a verem eléri a fenntartott méretet mínusz egy oldallal (amelyet védőlapként használnak a verem túlcsordulásának megakadályozására), vagy a rendszer olyan kevés memóriával rendelkezik, hogy a művelet meghiúsul.
A legjobb, ha a lehető legkisebb veremméretet választja, és véglegesíti a szál vagy szál megbízható futtatásához szükséges vermet. A verem számára fenntartott minden lap más célra nem használható.
A verem felszabadul, amikor a szál kilép. Nem szabadítja fel, ha a szálat egy másik szál leállítja.
A fenntartott és az eredetileg véglegesített veremememória alapértelmezett mérete a végrehajtható fájlfejlécben van megadva. A szál- vagy szállétrehozás meghiúsul, ha nincs elegendő memória a kért bájtok lefoglalásához vagy véglegesítéséhez. A csatoló által használt alapértelmezett veremfoglalási méret 1 MB. Ha az összes szálhoz és szálhoz eltérő alapértelmezett veremfoglalási méretet szeretne megadni, használja a STACKSIZE utasítást a moduldefiníciós (.def) fájlban. Az operációs rendszer a megadott méretet a rendszer foglalási részletességének legközelebbi többszörösére kerekít (általában 64 KB). Az aktuális rendszer foglalási részletességének lekéréséhez használja a GetSystemInfo függvényt.
Az eredetileg véglegesített veremterület módosításához használja a CreateThread, CreateRemoteThreadvagy a CreateFiberfüggvénydwStackSize paraméterét. Ez az érték a legközelebbi lapra lesz kerekítve. A tartalék mérete általában a végrehajtható fejlécben megadott alapértelmezett tartalékméret. Ha azonban a dwStackSize által megadott eredetileg lekötött méret nagyobb vagy egyenlő az alapértelmezett tartalékméretnél, akkor a foglalási méret ez az új véglegesítési méret az 1 MB legközelebbi többszörösére kerekítve.
A fenntartott verem méretének módosításához állítsa a CreateThread vagy CreateRemoteThreaddwCreationFlags paraméterét STACK_SIZE_PARAM_IS_A_RESERVATION és használja a dwStackSize paramétert. Ebben az esetben az eredetileg véglegesített méret a végrehajtható fejlécben megadott alapértelmezett méret. Rostok esetén használja a dwStackReserveSize paramétert CreateFiberEx. A véglegesített méret a dwStackCommitSize paraméterben van megadva.
A SetThreadStackGuarantee függvény beállítja a híváslánchoz vagy szálhoz társított verem minimális méretét, amely a verem túlcsordulási kivételei során lesz elérhető.