Linux实现简单的AutoLock
AutoLock对象实例化时(构造函数)加锁,析构时释放锁。
#include <iostream>
#include <pthread.h>
using namespace std;
class AutoLock
{
public:
AutoLock(pthread_mutex_t* mutex): m_mutex(mutex)
{
cout<<"lock"<<endl;
pthread_mutex_lock(m_mutex);
}
~AutoLock()
{
cout<<"unlock"<<endl;
pthread_mutex_unlock(m_mutex);
}
private:
pthread_mutex_t* m_mutex;
};