を経由してロック、ロックはクラスがクリティカルセクションやミューテックス所有している構図を介して達成される:私が書いたり見直されているほとんどのコードでは、継承ではなく合成
class MyClass
{
Mutex mMutex;
};
と可変メンバが潜在的に可能に
:私はこのように、コードを継承経由でロック実装されたいくつかのコードを見直しvoid MyClass::Method()
{
Lock lock(mMutex);
// ...
}
今日:複数のスレッドを介してアクセス、我々が取得し、このようにRAIIを経由してロックを解除します
class MyClass : public Mutex
{
// ...
};
とロックは、クラスのロック「そのもの」によって行われる。
void MyClass::Method()
{
Lock lock(this);
// ...
}
このアプローチのいずれかの利点や欠点はありますか?それとも単なるスタイルの問題ですか?
特に、「継承されたミューテックス」の部分で、より具体的に説明する必要があります。それはインターフェイスまたは実際の同期オブジェクトから継承されましたか? – YeenFei
@ YeenFei - 実際の(つまり具体的な)同期オブジェクトから継承されました。 – LeopardSkinPillBoxHat