Funkce správy paměti
Tento dokument popisuje funkce správy paměti, které poskytuje Concurrency Runtime, které vám pomůžou přidělovat a uvolnit paměť souběžným způsobem.
Tip
Concurrency Runtime poskytuje výchozí plánovač, a proto ho v aplikaci nemusíte vytvářet. Vzhledem k tomu, že plánovač úloh pomáhá vyladit výkon vašich aplikací, doporučujeme začít knihovnou PPL (Parallel Patterns Library) nebo knihovnou asynchronních agentů , pokud s modulem Concurrency Runtime začínáte.
Concurrency Runtime poskytuje dvě funkce správy paměti, které jsou optimalizované pro přidělování a uvolnění bloků paměti souběžným způsobem. Funkce concurrency::Alloc přidělí blok paměti pomocí zadané velikosti. Funkce concurrency::Free uvolní paměť přidělenou Alloc
funkcí .
Poznámka:
Free
Funkce Alloc
se vzájemně spoléhají. Free
Funkci použijte pouze k uvolnění paměti, kterou přidělíte pomocí Alloc
funkce. Pokud funkci použijete Alloc
k přidělení paměti, použijte k uvolnění této paměti pouze Free
funkci.
Alloc
Funkce a Free
funkce použijte, když přidělíte a uvolníte pevnou sadu velikostí přidělení z různých vláken nebo úloh. Concurrency Runtime ukládá paměť, kterou přiděluje z haldy modulu C Runtime. Concurrency Runtime obsahuje samostatnou mezipaměť paměti pro každé spuštěné vlákno; modul runtime proto spravuje paměť bez použití zámků nebo překážek paměti. Aplikace využívá více výhod Alloc
a Free
funkcí, když je mezipaměť paměti přístupná častěji. Například vlákno, které často volá jak Alloc
a Free
výhody více než vlákno, které primárně volá Alloc
nebo Free
.
Poznámka:
Když použijete tyto funkce správy paměti a vaše aplikace používá velké množství paměti, může aplikace zadat stav nedostatku paměti dříve, než očekáváte. Vzhledem k tomu, že bloky paměti, které jsou uloženy v mezipaměti jedním vláknem, nejsou k dispozici pro žádné jiné vlákno, pokud jedno vlákno obsahuje velké množství paměti, tato paměť není k dispozici.
Příklad
Příklad, který používá Alloc
funkce a Free
funkce ke zlepšení výkonu paměti, naleznete v tématu Postupy: Použití funkce Alloc a Free ke zlepšení výkonu paměti.
Viz také
Plánovač úloh
Postupy: Použití funkcí Alloc a Free ke zlepšení výkonu paměti