Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Descreve um filtro de sincronização que fornece um objeto de cache separado para cada thread.
Sintaxe
template <class Cache>
class sync_per_thread
Parâmetros
Cache
O tipo de cache associado ao filtro de sincronização. Pode ser cache_chunklist, cache_freelistou cache_suballoc.
Observações
Os alocadores que usam sync_per_thread podem comparar iguais, mesmo que os blocos alocados em um thread não possam ser desalocados de outro thread. Ao usar um desses alocadores, os blocos de memória alocados em um thread não devem ser tornados visíveis para outros threads. Na prática, isso significa que um contêiner que usa um desses alocadores só deve ser acessado por um único thread.
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_per_thread::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.
Observações
A função member retorna o resultado de uma chamada para cache::allocate(count) no objeto de cache pertencente ao thread atual. Se nenhum objeto de cache tiver sido alocado para o thread atual, ele primeiro alocará um.
sync_per_thread::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
A função de membro chama deallocate o objeto de cache pertencente ao thread atual. Se nenhum objeto de cache tiver sido alocado para o thread atual, ele primeiro alocará um.
sync_per_thread::iguais
Compara dois caches para igualdade.
bool equals(const sync<Cache>& Other) const;
Parâmetros
Cache
O objeto de cache do filtro de sincronização.
Outros
O objeto de cache a ser comparado para igualdade.
Valor de retorno
false se nenhum objeto de cache tiver sido alocado para este objeto ou para Outro no thread atual. Caso contrário, ele retorna o resultado da aplicação operator== aos dois objetos de cache.