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


sync_per_thread osztály

Egy szinkronizálási szűrőt ír le, amely minden szálhoz külön gyorsítótár-objektumot biztosít.

Szemantika

template <class Cache>
class sync_per_thread

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.

Megjegyzések

A használt sync_per_thread kiosztók egyenlőek lehetnek, annak ellenére, hogy az egyik szálban lefoglalt blokkokat nem lehet felszabadítani egy másik szálról. Ezen kiosztók egyikének használatakor az egyik szálban lefoglalt memóriablokkokat nem szabad láthatóvá tenni a többi szál számára. A gyakorlatban ez azt jelenti, hogy egy ilyen kiosztót használó tárolóhoz csak egyetlen szál férhet hozzá.

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_per_thread::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.

Megjegyzések

A tagfüggvény az aktuális szálhoz tartozó gyorsítótár-objektumra cache::allocate(count) irányuló hívás eredményét adja vissza. Ha az aktuális szálhoz nincs gyorsítótárobjektum lefoglalva, először lefoglal egyet.

sync_per_thread::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

A tagfüggvény meghívja deallocate az aktuális szálhoz tartozó gyorsítótár-objektumot. Ha az aktuális szálhoz nincs gyorsítótárobjektum lefoglalva, először lefoglal egyet.

sync_per_thread::equals

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

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

Paraméterek

Gyorsítótár
A szinkronizálási szűrő gyorsítótárobjektuma.

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

Visszaadott érték

false ha nincs gyorsítótárobjektum lefoglalva ehhez az objektumhoz vagy az aktuális szál egyéb objektumaihoz. Ellenkező esetben a két gyorsítótár-objektumra való alkalmazás operator== eredményét adja vissza.

Lásd még

<kiosztók>