Вопрос о NamedMutex WaitForSingleObject() и std::lock_guard()
Я видел две реализации NamedMutex:
- Сделайте оболочку NamedMutex, вызовите CreateMutex(), WaitForSingleObject() в ctor и ReleaseMutex(),CloseHandle() в dtor. Чтобы использовать его, вызовите cNamedMutex mtx(mtxname_).
- Создайте экземпляр mtx с помощью функций lock() и unlock() и управляйте им с помощью std::lock_guard(mtx).
Есть ли разница между двумя вышеуказанными реализациями? Какой из них предпочтительнее?