关于intel TBB里的concurrent_hash_map里的find方法

最近用到了intel TBB里的concurrent_hash_map里的bool find( accessor& result, const Key& key ),我在if语句里判断了之后,可是发现好像进去了find函数之后就出不来了,有人直到是为什么吗,跪求大神们赐教。
代码如下:
bool ThreadSafeLRUCache::
setTValue(const TKey& key,TValue& value) {
HashMapAccessor hashAccessor;
printf("enter setvalue\n");
if(!m_map.find(hashAccessor, key)){
printf("return false\n");
return false;
}
printf("left setvalue");
void *ptemp;
// Acquire the lock, but don't block if it is already held
std::unique_lock lock(m_listMutex, std::try_to_lock);
if (lock) {
printf("enter lock\n");
ptemp = hashAccessor->second.m_value.value;
hashAccessor->second.m_value = value;
lock.unlock();
printf("left lock\n");
}
scalable_free(ptemp);
return true;
}

xiantim
地亩显 我也遇到同样的问题,请问楼主解决了吗?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐