Sdílet prostřednictvím


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 Allocfunkcí .

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