Free 함수
동시 런타임의 캐싱 하위 할당기에 대해 Alloc 메서드가 이전에 할당한 메모리 블록을 해제합니다.
_CRTIMP void __cdecl Free(
void * _PAllocation
);
매개 변수
- _PAllocation
해제될 Alloc 메서드에 의해 할당된 메모리에 대한 포인터입니다. 매개 변수 _PAllocation이 값 NULL로 설정된 경우 이 메서드는 이를 무시하고 즉시 반환합니다.
설명
여러 할당을 스레드 수에 따라 작은 블록 크기 집합을 갖는 할당 해제로 분산되게 만들 때 캐싱 하위 할당기를 사용합니다. 하위 할당기는 C 런타임 힙 위의 캐싱 계층입니다. 동시성 런타임은 스케줄러에 있는 가상 프로세서마다 하나의 하위 할당기를 만들고 할당기 메서드를 사용하는 응용 프로그램에서 만드는 스레드마다 하나의 하위 할당기를 만듭니다.
특정 크기 볼록 캐시를 빌드한 후 잠금을 유지하지 않거나 메모리 장벽을 실행해도 할당과 해제가 가능합니다. 블록 크기에 대한 각 하위 할당기의 캐시가 비어 있는 경우 할당은 힙에서 이루어지며 캐시가 블록 크기에 대한 특정 크기에 도달한 경우 블록은 C 런타임 힙으로 해제됩니다.
응용 프로그램이 더 많은 메모리를 사용하는 경우 캐싱 하위 할당기를 사용할 때 예상하는 것보다 빨리 메모리가 부족해지는 것을 발견할 수 있습니다. 그 이유는 한 하위 할당기에서 캐시된 블록을 다른 곳에서 사용할 수 없고 특정 스레드가 특정 지점에서 액세스하지 못하는 하위 할당기에 캐시된 메모리 양이 많이 있을 수 있기 때문입니다.
요구 사항
헤더: concrt.h
네임스페이스: 동시성