다음을 통해 공유


sync_shared 클래스

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

구문

template <class Cache>
class sync_shared

매개 변수

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

멤버 함수

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

요구 사항

헤더:<할당자>

네임스페이스: stdext

sync_shared::allocate

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

void *allocate(std::size_t count);

매개 변수

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

반환 값

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

설명

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

sync_shared::d모든지

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

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

매개 변수

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

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

설명

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

sync_shared::equals

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

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

매개 변수

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

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

반환 값

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

참고 항목

<할당자>