|
PTLib
Version 2.10.11
|
This class defines a thread mutual exclusion object. More...
#include <mutex.h>
Public Member Functions | |
| PTimedMutex () | |
| PTimedMutex (const PTimedMutex &mutex) | |
| PINLINE bool | Try () |
| Try to enter the critical section for exlusive access. More... | |
Public Member Functions inherited from PSync | |
| virtual void | Wait ()=0 |
| Block until the synchronisation object is available. More... | |
| virtual void | Signal ()=0 |
| Signal that the synchronisation object is available. More... | |
Public Member Functions inherited from PObject | |
| virtual | ~PObject () |
| virtual PObject * | Clone () const |
| Create a copy of the class on the heap. More... | |
| virtual PINDEX | HashFunction () const |
This function yields a hash value required by the PDictionary class. More... | |
| virtual const char * | GetClass (unsigned ancestor=0) const |
| Get the current dynamic type of the object instance. More... | |
| PBoolean | IsClass (const char *cls) const |
| virtual PBoolean | InternalIsDescendant (const char *clsName) const |
| Determine if the dynamic type of the current instance is a descendent of the specified class. More... | |
| virtual Comparison | Compare (const PObject &obj) const |
| Compare the two objects and return their relative rank. More... | |
| virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
| Determine the byte wise comparison of two objects. More... | |
| bool | operator== (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator!= (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator< (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator> (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator<= (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator>= (const PObject &obj) const |
| Compare the two objects. More... | |
| virtual void | PrintOn (ostream &strm) const |
| Output the contents of the object to the stream. More... | |
| virtual void | ReadFrom (istream &strm) |
| Input the contents of the object from the stream. More... | |
Protected Attributes | |
| PAtomicInteger | m_lockCount |
| pthread_t | m_lockerId |
Additional Inherited Members | |
Public Types inherited from PObject | |
| enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
Static Public Member Functions inherited from PObject | |
| static const char * | Class () |
| Get the name of the class as a C string. More... | |
| static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
| Internal function caled from CompareObjectMemoryDirect() More... | |
Protected Member Functions inherited from PObject | |
| PObject () | |
| Constructor for PObject, made protected so cannot ever create one on its own. More... | |
This class defines a thread mutual exclusion object.
A mutex is where a piece of code or data cannot be accessed by more than one thread at a time. To prevent this the PMutex is used in the following manner:
PMutex mutex; ... mutex.Wait(); ... critical section - only one thread at a time here. mutex.Signal(); ...
The first thread will pass through the Wait() function, a second thread will block on that function until the first calls the Signal() function, releasing the second thread.
| PTimedMutex::PTimedMutex | ( | ) |
| PTimedMutex::PTimedMutex | ( | const PTimedMutex & | mutex | ) |
|
inline |
Try to enter the critical section for exlusive access.
Does not wait.
References PCriticalSection, and PSync::Wait().
|
mutableprotected |
|
mutableprotected |