Compartilhar via


Classe sync_shared

Descreve um filtro de sincronização que usa um mutex para controlar o acesso a um objeto de cache que é compartilhado por todos os alocadores.

Sintaxe

template <class Cache>
class sync_shared

Parâmetros

Cache
O tipo de cache associado ao filtro de sincronização. Pode ser cache_chunklist, cache_freelist ou cache_suballoc.

Funções de membro

Função de membro Descrição
allocate Aloca um bloco de memória.
deallocate Libera um número especificado de objetos do armazenamento começando em uma posição especificada.
equals Compara a igualdade de dois caches.

Requisitos

Cabeçalho:<allocators>

Namespace: stdext

sync_shared::alocar

Aloca um bloco de memória.

void *allocate(std::size_t count);

Parâmetros

count
O número de elementos na matriz a serem alocados.

Valor de retorno

Um ponteiro para o objeto alocado.

Comentários

A função membro bloqueia o mutex, chama cache.allocate(count), desbloqueia o mutex e retorna o resultado da chamada anterior a cache.allocate(count). cache representa o objeto de cache atual.

sync_shared::d eallocate

Libera um número especificado de objetos do armazenamento começando em uma posição especificada.

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

Parâmetros

ptr
Um ponteiro para o primeiro objeto a ser desalocado do armazenamento.

count
O número de objetos a serem desalocados do armazenamento.

Comentários

Essa função membro bloqueia o mutex, chama cache.deallocate(ptr, count), em que cache representa o objeto de cache e, em seguida, desbloqueia o mutex.

sync_shared::igual

Compara a igualdade de dois caches.

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

Parâmetros

Cache
O tipo de cache associado ao filtro de sincronização.

Outras
O cache a ser comparado quanto à igualdade.

Valor de retorno

true se o resultado de cache.equals(Other.cache), em que cache representa o objeto de cache, for true; caso contrário, false.

Comentários

Confira também

<allocators>