sync_per_thread 클래스
각 스레드에 대해 별도의 캐시 개체를 제공하는 동기화 필터를 설명합니다.
구문
template <class Cache>
class sync_per_thread
매개 변수
캐시
동기화 필터와 연결된 캐시 형식입니다. 또는 .cache_freelist
cache_suballoc
일 cache_chunklist
수 있습니다.
설명
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==
를 적용한 결과가 반환됩니다.
설명
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기