Freigeben über


sync_shared-Klasse

Beschreibt einen Synchronisierungsfilter, in dem ein Mutex verwendet wird, um den Zugriff auf ein Cache-Objekt zu steuern, das von allen Zuweisungen (allocator-Objekten) gemeinsam verwendet wird.

Syntax

template <class Cache>
class sync_shared

Parameter

Cache
Der Cachetyp, der diesem Synchronisierungsfilter zugeordnet werden soll. Es kann sich um cache_chunklist, cache_freelist oder cache_suballoc handeln.

Memberfunktionen

Memberfunktion Beschreibung
allocate Belegt einen Speicherblock.
deallocate Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position.
equals Vergleicht zwei Caches auf Gleichheit.

Anforderungen

Header:<allocators>

Namespace: stdext

sync_shared::zuweisung

Belegt einen Speicherblock.

void *allocate(std::size_t count);

Parameter

count
Die Anzahl der zuzuweisenden Elemente im Array

Rückgabewert

Zeiger auf das zugewiesene Objekt.

Hinweise

Die Memberfunktion sperrt den Mutex, ruft cache.allocate(count) auf, entsperrt den Mutex und gibt das Ergebnis des früheren Aufrufs an cache.allocate(count) zurück. cache stellt das aktuelle Cache-Objekt dar.

sync_shared::d eallocate

Gibt eine angegebene Anzahl von Objekten im Speicher frei, beginnend an einer angegebenen Position.

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

Parameter

ptr
Ein Zeiger auf das erste Objekt, dessen Zuweisung zum Speicher aufgehoben werden soll.

count
Die Anzahl von Objekten, deren Zuweisung zum Speicherplatz aufgehoben werden soll.

Hinweise

Diese Memberfunktion sperrt den Mutex, ruft cache.deallocate(ptr, count) auf, wobei cache das Cache-Objekt darstellt, und entsperrt dann den Mutex.

sync_shared::equals

Vergleicht zwei Caches auf Gleichheit.

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

Parameter

Cache
Der Cachetyp, der diesem Synchronisierungsfilter zugeordnet werden soll.

Andere
Das Cache-Objekt, das auf Gleichheit verglichen werden soll.

Rückgabewert

true, wenn das Ergebnis von cache.equals(Other.cache), wobei cache das Cache-Objekt darstellt, true ist, andernfalls false.

Hinweise

Siehe auch

<allocators>