Megosztás a következőn keresztül:


sync_shared osztály

Egy olyan szinkronizálási szűrőt ismertet, amely egy mutex használatával szabályozza az allokátorok által megosztott gyorsítótár-objektumokhoz való hozzáférést.

Szemantika

template <class Cache>
class sync_shared

Paraméterek

Gyorsítótár
A szinkronizálási szűrőhöz társított gyorsítótár típusa. Lehet cache_chunklist, cache_freelistvagy cache_suballoc.

Tagfüggvények

Tagfüggvény Leírás
lefoglal Memóriablokkot foglal le.
felszabadítás Meghatározott számú objektumot szabadít fel a tárterületről egy adott pozíciótól kezdve.
Egyenlő Az egyenlőség két gyorsítótárát hasonlítja össze.

Követelmények

Fejléc:<kiosztók>

Névtér: stdext

sync_shared::lefoglalás

Memóriablokkot foglal le.

void *allocate(std::size_t count);

Paraméterek

gróf
A lefoglalni kívánt tömb elemeinek száma.

Visszaadott érték

Mutató a lefoglalt objektumra.

Megjegyzések

A tagfüggvény zárolja a mutexet, meghívja cache.allocate(count), feloldja a mutex zárolását, és visszaadja a korábbi hívás cache.allocate(count)eredményét. cache az aktuális gyorsítótár-objektumot jelöli.

sync_shared::d eallocate

Meghatározott számú objektumot szabadít fel a tárterületről egy adott pozíciótól kezdve.

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

Paraméterek

ptr
Mutató az első tárolóból felszabadítandó objektumra.

gróf
A tárolóból felszabadítandó objektumok száma.

Megjegyzések

Ez a tagfüggvény zárolja a mutexet, meghívja cache.deallocate(ptr, count)a cache gyorsítótár-objektumot, majd feloldja a mutex zárolását.

sync_shared::equals

Az egyenlőség két gyorsítótárát hasonlítja össze.

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

Paraméterek

Gyorsítótár
A szinkronizálási szűrőhöz társított gyorsítótár típusa.

Más
Az egyenlőség szempontjából összehasonlítandó gyorsítótár.

Visszaadott érték

true ha az eredmény , cache.equals(Other.cache)ahol cache a gyorsítótárobjektumot jelöli, akkor az true; egyébként false.

Lásd még

<kiosztók>