多线程同步模板

/************************************************************************/    
/*   
文件名: 同步类 
创建人: 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");    
}    


 

你可能感兴趣的:(多线程同步模板)