Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
2421 Discussions

Non-blocking access to concurrent_hash_map ?

Hyokun_Y_
Beginner
95 Views

I am wondering whether I can access concurrent_hash_map in the non-blocking fashion.
If I understand correctly,

bool find( accessor& result, const Key& key )

would acquire the write lock, and other threads trying to acquire the write lock for the same key would wait until
the write lock is released, right?

Is it possible for me to just 'try' the write lock? That is, a thread will try to acquire the write lock,
but if the entry is already write-locked then I would like to make it move on rather than being blocked
until the write lock gets released.

Thanks in advance,
Hyokun Yun 

0 Kudos
1 Reply
RafSchietekat
Black Belt
95 Views

Apparently not, but why would you want that? Threads are supposed to hold a write lock only as shortly as possible. Consider doing something with const_accessor instead (the documentation appears to be negligent about specifying whether multiple threads can concurrently hold a const_accessor to the same element?), concurrent_unordered_map, ...

Reply