sync_shared Class
Describes a synchronization filter that uses a mutex to control access to a cache object that is shared by all allocators.
Syntax
template <class Cache>
class sync_shared
Parameters
Cache
The type of cache associated with the synchronization filter. It can be cache_chunklist
, cache_freelist
, or cache_suballoc
.
Member functions
Member function | Description |
---|---|
allocate | Allocates a block of memory. |
deallocate | Frees a specified number of objects from storage beginning at a specified position. |
equals | Compares two caches for equality. |
Requirements
Header: <allocators>
Namespace: stdext
sync_shared::allocate
Allocates a block of memory.
void *allocate(std::size_t count);
Parameters
count
The number of elements in the array to be allocated.
Return Value
A pointer to the allocated object.
Remarks
The member function locks the mutex, calls cache.allocate(count)
, unlocks the mutex, and returns the result of the earlier call to cache.allocate(count)
. cache
represents the current cache object.
sync_shared::deallocate
Frees a specified number of objects from storage beginning at a specified position.
void deallocate(void* ptr, std::size_t count);
Parameters
ptr
A pointer to the first object to be deallocated from storage.
count
The number of objects to be deallocated from storage.
Remarks
This member function locks the mutex, calls cache.deallocate(ptr, count)
, where cache
represents the cache object, and then unlocks the mutex.
sync_shared::equals
Compares two caches for equality.
bool equals(const sync_shared<Cache>& Other) const;
Parameters
Cache
The type of cache associated with the synchronization filter.
Other
The cache to compare for equality.
Return Value
true
if the result of cache.equals(Other.cache)
, where cache
represents the cache object, is true
; otherwise, false
.
Remarks
See also
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru