15 #ifndef LIGHTMUTEXDIRECT_H
16 #define LIGHTMUTEXDIRECT_H
18 #include "pandabase.h"
19 #include "mutexImpl.h"
20 #include "mutexTrueImpl.h"
36 INLINE ~LightMutexDirect();
38 INLINE LightMutexDirect(
const LightMutexDirect ©);
39 INLINE
void operator = (
const LightMutexDirect ©);
42 BLOCKING INLINE
void acquire()
const;
43 INLINE
void release()
const;
44 INLINE
bool debug_is_locked()
const;
46 INLINE
void set_name(
const string &name);
47 INLINE
void clear_name();
48 INLINE
bool has_name()
const;
49 INLINE
string get_name()
const;
51 void output(ostream &out)
const;
72 #include "lightMutexDirect.I"
74 #endif // !DEBUG_THREADS
This class implements a lightweight Mutex by making direct calls to the underlying implementation lay...
void output(ostream &out) const
This method is declared virtual in LightMutexDebug, but non-virtual in LightMutexDirect.
A thread; that is, a lightweight process.
A fake mutex implementation for single-threaded applications that don't need any synchronization cont...