GlobalObjects
Lade ...
Suche ...
Keine Treffer
EuPCriticalSection Klassenreferenz

Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked(). Mehr ...

#include <EuPCriticalSection.h>

Klassendiagramm für EuPCriticalSection:

Öffentliche Methoden

 EuPCriticalSection ()
 
 EuPCriticalSection (const EuPCriticalSection &rT)
 
virtual ~EuPCriticalSection ()
 
pthread_mutex_t & getMutex ()
 
bool isLocked () const
 
int lock ()
 
EuPCriticalSectionoperator= (const EuPCriticalSection &rT)
 
int unlock ()
 

Private Attribute

bool m_bIsLocked
 
pthread_mutex_t m_Mutex
 

Ausführliche Beschreibung

Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().

Beispiel

void MyClass::makeAnyThing()
{
m_MyLocalCriticalSection->lock();
// Ein Zugriff von einem Thread auf m_pMyPrivateClass->makeManyThings() über
// diese Methode verhindert, dass anderere Threads auf diese Metode (bzw.
// andere Methoden die mit m_MyLocalCriticalSection abgesichert sind)
// zugreifen können, bevor die CriticalSection mit unlock() vom ersten Tread
// beendet ist.
this->makeManyThings();
// hier ggf. eine Exception fangen, wenn eine geworfen werden kann.
m_MyLocalCriticalSection->unlock();
}
Zu beachten
Basiert auf 32 Bit POSIX Threads.
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ EuPCriticalSection() [1/2]

EuPCriticalSection::EuPCriticalSection ( )

Konstruktor. Es wird ein m_Mutex initialisiert.

◆ ~EuPCriticalSection()

virtual EuPCriticalSection::~EuPCriticalSection ( )
virtual

Destruktor, der m_Mutex wird zerstört.

◆ EuPCriticalSection() [2/2]

EuPCriticalSection::EuPCriticalSection ( const EuPCriticalSection & rT)

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

Dokumentation der Elementfunktionen

◆ getMutex()

pthread_mutex_t & EuPCriticalSection::getMutex ( )

Liefert den Mutex.

Rückgabe
Der eigene Mutex
Achtung
Der gelieferte Mutex lebt nur so lange wie die lieferende EuPCriticalSection.

◆ isLocked()

bool EuPCriticalSection::isLocked ( ) const

Ist die CriticalSection in Sperrmodus?

Rückgabe
Wenn true, dann im Sperrmodus.

◆ lock()

int EuPCriticalSection::lock ( )

Initiiert eine CriticalSection.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Die CriticalSection muß unbedingt irgendwann wieder beendet werden.

◆ operator=()

EuPCriticalSection & EuPCriticalSection::operator= ( const EuPCriticalSection & rT)

Zuweisungsoperator.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ unlock()

int EuPCriticalSection::unlock ( )

Beendet eine CriticalSection.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

Dokumentation der Datenelemente

◆ m_bIsLocked

bool EuPCriticalSection::m_bIsLocked
private

Wenn eine EuPCriticalSection den Zugriff sperrt, wird dieses Attribut auf true und beim Freigeben wieder auf false gesetzt.

◆ m_Mutex

pthread_mutex_t EuPCriticalSection::m_Mutex
private

Ein pthread_mutex_t-Objekt.

Wird im Konstruktor initialisiert und im Destruktor zerstört.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: