分享方式:


記憶體管理函式

本檔說明並行執行時間提供的記憶體管理功能,可協助您以並行方式配置和釋放記憶體。

提示

並行執行階段會提供預設排程器,因此您不需要在應用程式中建立排程器。 由於工作排程器可協助您微調應用程式的效能,因此如果您不熟悉並行執行時間,建議您從平行模式程式庫 (PPL) 非同步代理程式程式庫 開始 。

並行執行時間提供兩個記憶體管理功能,可針對並行配置和釋放記憶體區塊進行優化。 並行 ::Alloc 函式會使用指定的大小來配置記憶體區塊。 並行 ::Free 函式會釋放 所 Alloc 配置的記憶體。

注意

FreeAlloc 式彼此相依。 僅使用 函 Free 式釋放您使用 函式配置的 Alloc 記憶體。 此外,當您使用 函 Alloc 式來配置記憶體時,只使用 函 Free 式釋放該記憶體。

Alloc當您從不同的執行緒或工作配置和釋放一組固定的配置大小時,請使用 和 Free 函式。 並行執行時間會快取它從 C 執行時間堆積配置的記憶體。 並行執行時間會針對每個執行中的執行緒保留個別的記憶體快取;因此,執行時間會管理記憶體,而不需要使用鎖定或記憶體屏障。 當記憶體快取更頻繁地存取時,應用程式會從 AllocFree 函式獲益更多。 例如,經常呼叫 和 Free 的執行緒比主要呼叫 AllocAllocFree 的執行緒更有好處。

注意

當您使用這些記憶體管理功能,且應用程式使用大量記憶體時,應用程式可能會比預期更快進入低記憶體狀況。 因為一個執行緒所快取的記憶體區塊無法供任何其他執行緒使用,如果一個執行緒保存大量的記憶體,該記憶體就無法使用。

範例

如需使用 AllocFree 函式來改善記憶體效能的範例,請參閱 如何:使用 Alloc 和 Free 來改善記憶體效能

另請參閱

工作排程器
如何:使用 Alloc 和 Free 改善記憶體效能