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