sync_shared — Klasa
Opisuje filtr synchronizacji, który używa mutex do kontrolowania dostępu do obiektu pamięci podręcznej, który jest współużytkowany przez wszystkie alokatory.
Składnia
template <class Cache>
class sync_shared
Parametry
Cache
Typ pamięci podręcznej skojarzony z filtrem synchronizacji. Może to być cache_chunklist
, cache_freelist
lub cache_suballoc
.
Funkcje składowe
Funkcja składowa | opis |
---|---|
allocate | Przydziela blok pamięci. |
Deallocate | Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji. |
equals | Porównuje dwie pamięci podręczne pod kątem równości. |
Wymagania
Nagłówek:<alokatory>
Przestrzeń nazw: stdext
sync_shared::przydziel
Przydziela blok pamięci.
void *allocate(std::size_t count);
Parametry
count
Liczba elementów w tablicy do przydzielenia.
Wartość zwracana
Wskaźnik do przydzielonego obiektu.
Uwagi
Funkcja składowa blokuje mutex, wywołuje cache.allocate(count)
metodę , odblokuje mutex i zwraca wynik wcześniejszego wywołania metody cache.allocate(count)
. cache
reprezentuje bieżący obiekt pamięci podręcznej.
sync_shared::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.
count
Liczba obiektów do cofnięcia przydziału z magazynu.
Uwagi
Ta funkcja składowa blokuje mutex, wywołuje cache.deallocate(ptr, count)
metodę , gdzie cache
reprezentuje obiekt pamięci podręcznej, a następnie odblokuje mutex.
sync_shared::equals
Porównuje dwie pamięci podręczne pod kątem równości.
bool equals(const sync_shared<Cache>& Other) const;
Parametry
Cache
Typ pamięci podręcznej skojarzony z filtrem synchronizacji.
Inne
Pamięć podręczna do porównania pod kątem równości.
Wartość zwracana
true
jeśli wynik cache.equals(Other.cache)
, gdzie cache
reprezentuje obiekt pamięci podręcznej, to true
; w przeciwnym razie , false
.
Uwagi
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla