pthread_mutex_t
事前にsを使っていました。コードが動かなくなることがありました。ラップした関数全体に数行のコードが散在していました...
pthread_mutex_lock(&map_mutex);// Line 1
//critical code involving reading/writing wrapped around a mutex //Line 2
pthread_mutex_unlock(&map_mutex); //Line 3
コードがどこでどのようにスタックしていたかわからないので、に切り替えましpthread_mutex_t
たboost:mutex
1)1行目と3行目を1行目で置き換えるだけboost::lock_guard<boost::mutex> lock(map_mutex);
で、すべてが問題なく機能する場合、pthreadの実装で何が問題になる可能性がありますか?
2)ブーストに切り替えてパフォーマンスをあきらめていますか?ここで重要な部分は非常に時間に敏感なので、ミューテックスを非常に軽量にしたいと思います。(C ++、redhat)