enumerable_thread_specific: remove volatile hash map
Now, thread id of each thread is also an index to persistent storage for enumerbale_thread_specific (this index is the same for all instances of enumerable_thread_specifc which certain thread uses). This change means that persistent storage can be bigger than neccesary in some cases (it must be as big as largest 'thread id + 1'). This implementation also allowed for removal of read lock in local() method. Now, it's enough to check atomic size variable and if size < thread id just return element with this index. This commit also removes local(bool) method beacuse it's not possible to tell whether certain element existed before or not.
parent
d54954ec
Please register or sign in to comment