다음을 통해 공유


sync_shared 클래스

뮤텍스를 사용하여 모든 할당자가 공유하는 캐시 개체에 대한 액세스를 제어하는 동기화 필터를 설명합니다.

구문

template <class Cache>
class sync_shared

매개 변수

캐시
동기화 필터와 연결된 캐시 형식입니다. cache_chunklist, cache_freelist 또는 cache_suballoc일 수 있습니다.

멤버 함수

멤버 함수 설명
allocate 메모리 블록을 할당합니다.
deallocate 지정된 위치부터 시작하여 스토리지에서 지정된 개수의 개체를 해제합니다.
equals 두 캐시가 같은지 비교합니다.

요구 사항

헤더:<할당자>

네임스페이스: stdext

sync_shared::allocate

메모리 블록을 할당합니다.

void *allocate(std::size_t count);

매개 변수

count
할당할 배열의 요소 수입니다.

Return Value

할당된 개체에 대한 포인터입니다.

설명

구성원 함수는 뮤텍스를 잠그고, cache.allocate(count)를 호출하고, 뮤텍스 잠금을 해제한 다음 이전 호출의 결과를 cache.allocate(count)에 반환합니다. cache는 현재 캐시 개체를 나타냅니다.

sync_shared::d모든지

지정된 위치부터 시작하여 스토리지에서 지정된 개수의 개체를 해제합니다.

void deallocate(void* ptr, std::size_t count);

매개 변수

ptr
스토리지에서 할당을 취소할 첫 번째 개체에 대한 포인터입니다.

count
스토리지에서 할당을 취소할 개체의 수입니다.

설명

이 구성원 함수는 뮤텍스를 잠그고, cache.deallocate(ptr, count)를 호출한 다음(여기서 cache는 캐시 개체를 나타냄) 뮤텍스 잠금을 해제합니다.

sync_shared::equals

두 캐시가 같은지 비교합니다.

bool equals(const sync_shared<Cache>& Other) const;

매개 변수

캐시
동기화 필터와 연결된 캐시 형식입니다.

기타
같은지 비교할 캐시입니다.

Return Value

cache.equals(Other.cache)의 결과(여기서 cache는 캐시 개체를 나타냄)가 true이면 true이고 그렇지 않으면 false입니다.

설명

참고 항목

<allocators>