Gibt es eine Möglichkeit, ich kann std::lock_gaurd
anrufen try_lock
anstelle von lock
, wenn er den Mutex erwirbt?Verwenden Sie std :: lock_guard mit try_lock
Die einzige Art, wie ich denken konnte, ist std::adopt_lock
zu verwenden:
if (!_mutex.try_lock())
{
// Handle failure and return from the function
}
std::lock_guard<my_mutex_class> lock(_mutex, std::adopt_lock);
Gibt es eine integrierte Lösung für mein Problem eher dann die Sperre explizit zu erwerben und dann lock_guard
gibt die Verantwortung für sie zu veröffentlichen?
Ich bin ziemlich sicher, das ist die integrierte Lösung, die Sie bereits verwenden. – user2079303