synchronizedobject.h
来自「基于属性证书的访问控制源代码,由c++编写,包括openssl,xercesc等」· C头文件 代码 · 共 81 行
H
81 行
#ifndef CPPUNIT_SYNCHRONIZEDOBJECT_H#define CPPUNIT_SYNCHRONIZEDOBJECT_H#include <cppunit/Portability.h>CPPUNIT_NS_BEGIN/*! \brief Base class for synchronized object. * * Synchronized object are object which members are used concurrently by mutiple * threads. * * This class define the class SynchronizationObject which must be subclassed * to implement an actual lock. * * Each instance of this class holds a pointer on a lock object. * * See src/msvc6/MfcSynchronizedObject.h for an example. */class CPPUNIT_API SynchronizedObject{public: /*! \brief Abstract synchronization object (mutex) */ class SynchronizationObject { public: SynchronizationObject() {} virtual ~SynchronizationObject() {} virtual void lock() {} virtual void unlock() {} }; /*! Constructs a SynchronizedObject object. */ SynchronizedObject( SynchronizationObject *syncObject =0 ); /// Destructor. virtual ~SynchronizedObject();protected: /*! \brief Locks a synchronization object in the current scope. */ class ExclusiveZone { SynchronizationObject *m_syncObject; public: ExclusiveZone( SynchronizationObject *syncObject ) : m_syncObject( syncObject ) { m_syncObject->lock(); } ~ExclusiveZone() { m_syncObject->unlock (); } }; virtual void setSynchronizationObject( SynchronizationObject *syncObject );protected: SynchronizationObject *m_syncObject;private: /// Prevents the use of the copy constructor. SynchronizedObject( const SynchronizedObject © ); /// Prevents the use of the copy operator. void operator =( const SynchronizedObject © );};CPPUNIT_NS_END#endif // CPPUNIT_SYNCHRONIZEDOBJECT_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?