lockable.hh

来自「It s a tool designed to extract as much 」· HH 代码 · 共 59 行

HH
59
字号
/* Copyright (C) 2005, SWECO, All Rights Reserved.   Definition of the lockable property of a class   $Id$   Author: Zsolt Molnar (Zsolt.Molnar@ieee.org)   ---------------------------------------------------------------------------*/#ifndef __LOCKABLE_HH__#define __LOCKABLE_HH__#include <pthread.h>#include <errno.h>#include "base.hh"#ifdef _cplusplusextern "C" {#endifclass Lockable {protected:	Lockable() {pthread_mutex_init(&_mutex, NULL);};	~Lockable() {pthread_mutex_destroy(&_mutex);};public:		void lock() {pthread_mutex_lock(&_mutex);};	void unlock() {pthread_mutex_unlock(&_mutex);};;	bool isLocked();	private:	pthread_mutex_t _mutex;};inline boolLockable::isLocked(){	int res = pthread_mutex_trylock(&_mutex);	if (res == EBUSY) {		return true;	} else {		pthread_mutex_unlock(&_mutex);	}	return false;	}#ifdef _cplusplus}#endif#endif // #ifndef __LOCKABLE_HH__

⌨️ 快捷键说明

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