Udostępnij przez


sync_per_thread — Klasa

Opisuje filtr synchronizacji, który udostępnia oddzielny obiekt pamięci podręcznej dla każdego wątku.

Składnia

template <class Cache>
class sync_per_thread

Parametry

pamięci podręcznej
Typ pamięci podręcznej skojarzony z filtrem synchronizacji. Może to być cache_chunklist, cache_freelistlub cache_suballoc.

Uwagi

Alokatory, które używają sync_per_thread , mogą porównywać równe, mimo że bloki przydzielone w jednym wątku nie mogą zostać cofnięty z innego wątku. W przypadku używania jednego z tych bloków pamięci alokatorów przydzielonych w jednym wątku nie powinno być widoczne dla innych wątków. W praktyce oznacza to, że kontener używający jednego z tych alokatorów powinien mieć dostęp tylko do jednego wątku.

Funkcje składowe

Funkcja składowa opis
przydzielić Przydziela blok pamięci.
Deallocate Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.
równa się Porównuje dwie pamięci podręczne pod kątem równości.

Wymagania

Nagłówek:<alokatory>

Przestrzeń nazw: stdext

sync_per_thread::przydziel

Przydziela blok pamięci.

void *allocate(std::size_t count);

Parametry

liczba
Liczba elementów w tablicy do przydzielenia.

Uwagi

Funkcja składowa zwraca wynik wywołania obiektu cache::allocate(count) pamięci podręcznej należącego do bieżącego wątku. Jeśli dla bieżącego wątku nie przydzielono żadnego obiektu pamięci podręcznej, najpierw go przydzieli.

sync_per_thread::d eallocate

Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.

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

Parametry

ptr
Wskaźnik do pierwszego obiektu, który ma zostać cofnięty z magazynu.

liczba
Liczba obiektów do cofnięcia przydziału z magazynu.

Uwagi

Funkcja składowa wywołuje deallocate obiekt pamięci podręcznej należący do bieżącego wątku. Jeśli dla bieżącego wątku nie przydzielono żadnego obiektu pamięci podręcznej, najpierw go przydzieli.

sync_per_thread::equals

Porównuje dwie pamięci podręczne pod kątem równości.

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

Parametry

pamięci podręcznej
Obiekt pamięci podręcznej filtru synchronizacji.

Inne
Obiekt pamięci podręcznej do porównania pod kątem równości.

Wartość zwracana

falsejeśli dla tego obiektu nie przydzielono żadnego obiektu pamięci podręcznej lub dla innego w bieżącym wątku. W przeciwnym razie zwraca wynik zastosowania operator== do dwóch obiektów pamięci podręcznej.

Zobacz też

<Allocators>