Partilhar via


sync_shared Classe

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_freelistou cache_suballoc.

Funções de membro

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

Requerimentos

Cabeçalho:<Alocadores>

Espaço de nomes: stdext

sync_shared::alocar

Aloca um bloco de memória.

void *allocate(std::size_t count);

Parâmetros

contagem
O número de elementos na matriz a ser alocado.

Valor de retorno

Um ponteiro para o objeto alocado.

Observações

A função de membro bloqueia o mutex, chama cache.allocate(count), desbloqueia o mutex e retorna o resultado da chamada anterior para 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.

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

Observações

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

sync_shared::iguais

Compara dois caches para igualdade.

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

Parâmetros

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

Outros
O cache para comparar para igualdade.

Valor de retorno

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

Ver também

<Alocadores>