I've seen posts about this issue but I'm still trying to figure it out. Is this way alright for implementing a safe singelton? I'm using mutex, static member and return its reference.
#include <mutex>
using namespace std;
mutex mtx;
class MySingleton {
private:
    MySingleton();
public:
    MySingleton& getInstance() {
        mtx.lock();
        static MySingleton instance;
        mtx.unlock();
        return instance;
    }
};
 
    