ZThread::PriorityInheritanceMutex Class Reference

#include <PriorityInheritanceMutex.h>

Inheritance diagram for ZThread::PriorityInheritanceMutex:

ZThread::Lockable ZThread::NonCopyable List of all members.

Public Member Functions

 PriorityInheritanceMutex ()
virtual ~PriorityInheritanceMutex ()
virtual void acquire ()
virtual bool tryAcquire (unsigned long timeout)
virtual void release ()

Detailed Description

Author:
Eric Crahen <http://www.code-foo.com>
Date:
<2003-07-16T19:37:36-0400>
Version:
2.2.1
A PriorityInheritanceMutex is similar to a PriorityMutex, it is a non-reentrant, priority sensitive MUTual EXclusion Lockable object. It differs only in its scheduling policy.

See also:
PriorityMutex
Scheduling

Threads competing to acquire() a PriorityInheritanceMutex are granted access in order of priority. Threads with a higher priority will be given access first.

When a higher priority thread tries to acquire() a PriorityInheritanceMutex and is about to be blocked by a lower priority thread that has already acquire()d it, the lower priority thread will temporarily have its effective priority raised to that of the higher priority thread until it release()s the mutex; at which point its previous priority will be restored.


Constructor & Destructor Documentation

ZThread::PriorityInheritanceMutex::PriorityInheritanceMutex (  ) 

See also:
Mutex::Mutex()

ZThread::PriorityInheritanceMutex::~PriorityInheritanceMutex (  )  [virtual]

See also:
Mutex::~Mutex()


Member Function Documentation

void ZThread::PriorityInheritanceMutex::acquire (  )  [virtual]

See also:
Mutex::acquire()

Implements ZThread::Lockable.

void ZThread::PriorityInheritanceMutex::release (  )  [virtual]

See also:
Mutex::release()

Implements ZThread::Lockable.

bool ZThread::PriorityInheritanceMutex::tryAcquire ( unsigned long  timeout  )  [virtual]

See also:
Mutex::tryAcquire(unsigned long timeout)

Implements ZThread::Lockable.


The documentation for this class was generated from the following files:
Generated on Wed Aug 30 03:27:48 2006 for SWG EMU by  doxygen 1.4.7