3

リソースをミューテックスで保護する必要があります。timed_mutex診断を改善するために、 (コードはテストされていません)を使用してデッドロック警告を考えています:

boost::timed_mutex m;
// first thread accessing the resource very frequently
while(...){
    boost::mutex::scoped_lock(m);
    // ...
}

// ...
// another thread accessing the resource, only occasionally
while(m.timed_lock(boost::get_system_time()+boost::posix_time::seconds(10)){
   cerr<<"Waiting for lock for (additional) 10 seconds; deadlocked?"<<endl;
}

シンプルなin both ループtimed_mutexの 2 つの無条件ロックと比較すると、パフォーマンスの違いが見られるでしょうか? mutex(違いが生じる場合に備えて、プラットフォームはPOSIXです)

4

1 に答える 1

0

答えは、pthreadライブラリの実装にあります。大きな違いはないと思いますが、できることはそれを測定することです。

于 2012-12-11T21:44:28.700 に答える