utilities.h
=====================================================
#ifndef UTILITIES_H
#define UTILITIES_H
#include <QMutex>
class Utilities
{
public:
static QMutex *getRegisterMutex();
private:
Utilities();
private:
static QMutex *m_mutex;
static int m_fd;
class Garbo
{
public:
~Garbo()
{
if (Utilities::m_mutex)
{
delete Utilities::m_mutex;
}
}
};
static Garbo m_garbo;
};
#endif // UTILITIES_H
utilities.cpp
=====================================================
#include "utilities.h"QMutex *Utilities::m_mutex = 0;
Utilities::Utilities()
{
}
QMutex* Utilities::getRegisterMutex()
{
if (!m_mutex)
{
m_mutex = new QMutex();
}
return m_mutex;
}
本文介绍了一个使用Qt库中的QMutex实现静态互斥锁管理的C++类。该类确保了对共享资源的安全访问,并通过析构函数自动清理互斥锁资源,避免资源泄露。
5500

被折叠的 条评论
为什么被折叠?



