| | |
| | | |
| | | //#todo map 1->2 modify 2->1 |
| | | bool FaceDBCompareServer::compare(thread::id key, AlarmData *alarmData, int topN) { |
| | | m_dbRWLocks_Lock.wrlock(); |
| | | if (m_dbRWLocks.find(key) == m_dbRWLocks.end()) { |
| | | m_dbRWLocks[key] = RWLock(); |
| | | } |
| | | RWLock &t_rwl = m_dbRWLocks[key]; |
| | | DBG("m_dbRWLocks ok"); |
| | | m_dbRWLocks_Lock.unlock(); |
| | | // ClockTimer clockTimer("compare "); |
| | | RWLock t_rwLock; |
| | | |
| | |
| | | int maxSearchFaces = alarmData->num; |
| | | |
| | | t_rwl.wrlock(); |
| | | DBG("topResult[key] before"); |
| | | auto &t_topResult = topResult[key]; |
| | | DBG("topResult[key] ok"); |
| | | t_topResult.clear(); |
| | | for (auto &item : t_compareResults) { |
| | | auto &it = item.second; |