java_lock.h

来自「C调用Java的一个例子程序」· C头文件 代码 · 共 53 行

H
53
字号
#ifndef  __JAVA_Lock_h__
#define  __JAVA_Lock_h__

 
#include <windows.h>
class JAVA_Lock
{
public:
	JAVA_Lock ()	{
		InitializeCriticalSection(&m_cs);
	}
	
	~JAVA_Lock(){
		::DeleteCriticalSection(&m_cs);
	}
	
	void lock(){ 
		::EnterCriticalSection(&m_cs); 
	}
	void unlock(){
		::LeaveCriticalSection(&m_cs);
	}
	
private:
	CRITICAL_SECTION m_cs;
};  


template<class Lock_>class JAVA_Guard
{
public:
	typedef	Lock_&  _RLOCK_t; 
public:
	JAVA_Guard(_RLOCK_t _l)
		:m_rlock(_l){__lock();}
	~JAVA_Guard(){
		__unlock();
	}
	
protected:
	void __lock(){
		m_rlock.lock();			
	}
	
	void __unlock(){
		m_rlock.unlock();
	}
	
private:
	_RLOCK_t  m_rlock; 
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?