記憶體管理函式
本文件說明並行運行時間提供的記憶體管理功能,可協助您以並行方式配置和釋放記憶體。
提示
並行執行階段會提供預設排程器,因此您不需要在應用程式中建立排程器。 由於工作排程器可協助您微調應用程式的效能,因此如果您不熟悉並行運行時間,建議您從平行模式連結庫 (PPL) 或異步代理程序連結庫開始。
並行運行時間提供兩個記憶體管理功能,可針對並行配置和釋放記憶體區塊進行優化。 並行 ::Alloc 函式會使用指定的大小來配置記憶體區塊。 並行 ::Free 函式會釋放 所 Alloc
配置的記憶體。
注意
和 Free
函Alloc
式彼此相依。 僅使用函 Free
式釋放您使用 函式配置的 Alloc
記憶體。 此外,當您使用函 Alloc
式來配置記憶體時,只使用 函 Free
式釋放該記憶體。
Alloc
當您從不同的線程或工作配置和釋放一組固定的配置大小時,請使用 和 Free
函式。 並行運行時間會快取它從 C 運行時間堆積配置的記憶體。 並行運行時間會針對每個執行中的線程保留個別的記憶體快取;因此,運行時間會管理記憶體,而不需要使用鎖定或記憶體屏障。 當記憶體快取更頻繁地存取時,應用程式會從 Alloc
和 Free
函式獲益更多。 例如,經常呼叫 和 Free
的線程比主要呼叫 Alloc
Alloc
或Free
的線程更有好處。
注意
當您使用這些記憶體管理功能,且應用程式使用大量記憶體時,應用程式可能會比預期更快進入低記憶體狀況。 因為一個線程所快取的記憶體區塊無法供任何其他線程使用,如果一個線程保存大量的記憶體,該記憶體就無法使用。
範例
如需使用 Alloc
和 Free
函式來改善記憶體效能的範例,請參閱 如何:使用 Alloc 和 Free 來改善記憶體效能。