Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.