std::lock_guard() for a locked std::mutex
问题 I am new to C++11 threading. The following piece of code should be executed only by the first thread. The other threads (which might race with the first thread) should not enter the locked code area (that's why the std::try_lock() is there). std::mutex mutex; // now ensure this will get called only once per event if (std::try_lock(_mutex) != -1) { return; } { std::lock_guard<std::mutex> guard(_mutex); // critical section } // mutex will be unlocked here (Outside from writing my own lock_guard