/************************************************************************/
/*
文件名: 同步类
创建人: Clark/陈泽丹
描述:
特点1,通过继承特化类使内部类Lock的调用不用再去写类型参数。
特点2,能过局部变量的构析规则实现对需要的修改资源功能上锁。
*/
/************************************************************************/
#include <iostream>
using namespace std;
template<class T>
class ClassMutex
{
public:
class Lock
{
public:
Lock(T& obj){ cout<<"锁住资源"<<&obj<<endl; }
~Lock(){ cout<<"解锁资源"<<endl; }
};
};
class MyClass:protected ClassMutex<MyClass>
{
public:
void Write()
{
Lock lock(*this); //通过继承特化类使内部类Lock的调用不用再去写类型参数。
cout<<"修改资源"<<endl;
}
};
void main()
{
MyClass test;
test.Write();
system("pause");
}