Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Návod
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:
Alloc Funkce Free 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