다음을 통해 공유


sync_per_thread 클래스

각 스레드에 대해 별도의 캐시 개체를 제공하는 동기화 필터를 설명합니다.

구문

template <class Cache>
class sync_per_thread

매개 변수

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

설명

sync_per_thread를 사용하는 할당자는 특정 스레드에 할당된 블록을 다른 스레드에서 할당 취소할 수 없더라도 비교 결과 같은 항목으로 확인될 수 있습니다. 이러한 할당자 중 하나를 사용할 때는 특정 스레드에 할당된 메모리 블록이 다른 스레드에 표시되면 안 됩니다. 즉, 실제로는 단일 스레드만 이러한 할당자 중 하나를 사용하는 컨테이너에 액세스해야 합니다.

멤버 함수

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

요구 사항

헤더:<할당자>

네임스페이스: stdext

sync_per_thread::allocate

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

void *allocate(std::size_t count);

매개 변수

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

설명

구성원 함수는 현재 스레드에 속하는 캐시 개체에 대한 cache::allocate(count) 호출 결과를 반환합니다. 현재 스레드에 대해 캐시 개체가 할당되지 않은 경우에는 먼저 캐시 개체가 할당됩니다.

sync_per_thread::d모든지

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

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

매개 변수

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

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

설명

구성원 함수는 현재 스레드에 속하는 캐시 개체에 대해 deallocate를 호출합니다. 현재 스레드에 대해 캐시 개체가 할당되지 않은 경우에는 먼저 캐시 개체가 할당됩니다.

sync_per_thread::equals

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

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

매개 변수

캐시
동기화 필터의 캐시 개체입니다.

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

Return Value

false 이 개체 또는 현재 스레드의 Other 에 대해 할당된 캐시 개체가 없으면 입니다. 그렇지 않으면 두 캐시 개체에 operator==를 적용한 결과가 반환됩니다.

설명

참고 항목

<allocators>