Concurrent Access
The member classes const_accessor and accessor are called accessors. Accessors allow multiple threads to concurrently access pairs in a shared concurrent_hash_map. An accessor acts as a smart pointer to a pair in a concurrent_hash_map. It holds an implicit lock on a pair until the instance is destroyed or the release method is called on the accessor.
The const_accessor and accessor classes differ in the kind of access they permit, as shown in Table 5-4.
Table 5-4. Differences between const_accessor and accessor
|
Class |
value_type |
Implied lock on pair |
|---|---|---|
|
|
|
Reader lock: permits shared access with other readers |
|
|
|
Writer lock: blocks access by other threads |
Accessors cannot be assigned or copy-constructed because allowing that would greatly complicate the locking semantics.