mutex.~h

来自「ORACLE数据库的批量插入例子」· ~H 代码 · 共 40 行

~H
40
字号
// mutex.h: interface for the mutex class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MUTEX_H__BF6AAE33_0D23_418D_901A_07EF8753BC26__INCLUDED_)
#define AFX_MUTEX_H__BF6AAE33_0D23_418D_901A_07EF8753BC26__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define ERR_TIMEOUT -13
#define SUCCESS 0

class mutex  
{
	HANDLE h_mut;
public:
	mutex()
	{
		h_mut=CreateMutex(NULL,FALSE,"mutex_to_exclude_call_to_connect");
	}
	virtual ~mutex()
	{
		CloseHandle(h_mut);
	}
	int get_in()
	{
		int result=WaitForSingleObject(h_mut,2000);
		if(result==WAIT_TIMEOUT) return ERR_TIMEOUT;
		return SUCCESS;
	}
	void get_out()
	{
		ReleaseMutex(h_mut);
	}
};

#endif // !defined(AFX_MUTEX_H__BF6AAE33_0D23_418D_901A_07EF8753BC26__INCLUDED_)

⌨️ 快捷键说明

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