Compartilhar via


Classe sync_per_thread

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_freelist ou cache_suballoc.

Comentários

Os alocadores que usam sync_per_thread podem ser comparados como iguais mesmo se os blocos alocados em um thread não podem ser desalocados de outro thread. Ao usar um desses alocadores, os blocos de memória alocados em um thread não devem ficar visíveis para outros threads. Na prática, isso significa que um contêiner que usa um desses alocadores deve ser acessado somente por um único thread.

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_per_thread::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.

Comentários

A função membro retorna o resultado de uma chamada a cache::allocate(count) no objeto de cache que pertence 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.

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

Comentários

A função membro chama deallocate no objeto de cache que pertence ao thread atual. Se nenhum objeto de cache tiver sido alocado para o thread atual, ele primeiro alocará um.

sync_per_thread::igual

Compara a igualdade de dois caches.

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

Parâmetros

Cache
O objeto de cache do filtro de sincronização.

Outras
O objeto de cache a ser comparado quanto à igualdade.

Valor de retorno

false se nenhum objeto de cache foi alocado a esse objeto ou para Outro no thread atual. Caso contrário, retornará o resultado da aplicação de operator== aos dois objetos de cache.

Comentários

Confira também

<allocators>