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
.