wo4litao 2015-08-05 02:29
浏览 2879

关于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;
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作