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
입니다.