私はこのような別のマップに/インデックスのキーをロックしたい:std::vector
で動作するようですstd :: mapのマップされた型としてboost :: mutexを使う方法?
/usr/include/c++/4.8/bits/stl_pair.h:113: error: no matching function for call to 'boost::mutex::mutex(const boost::mutex&)'
: first(__a), second(__b) { }
^
はなく、持つ:
std::map<int, boost::mutex> pointCloudsMutexes_;
pointCloudsMutexes_[index].lock();
しかし、私は次のエラーを取得していますstd::map
。私は間違って何をしていますか?
ミューテックスのマップが有効な解決策であるという設計上の決定に至った要件は不思議です。おそらくあなたが望むものを達成するためのよりエレガントな方法があります。 –
同時ハッシュマップ – Raaj
このデザインは、同時ハッシュマップではありません。 mutexの非同期マップとなります。マップ全体をラップし、1つのミューテックスで保護する必要があります。 –