Logo ROOT  
Reference Guide
TMutex.h
Go to the documentation of this file.
1 // @(#)root/thread:$Id$
2 // Author: Fons Rademakers 26/06/97
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TMutex
13 #define ROOT_TMutex
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TMutex //
19 // //
20 // This class implements mutex locks. A mutex is a mutual exclusive //
21 // lock. The actual work is done via the TMutexImp class (either //
22 // TPosixMutex or TWin32Mutex). //
23 // //
24 //////////////////////////////////////////////////////////////////////////
25 
26 #include "TVirtualMutex.h"
27 #include "TMutexImp.h"
28 
29 
30 class TMutex : public TVirtualMutex {
31 
32 friend class TCondition;
33 friend class TThread;
34 
35 private:
36  TMutexImp *fMutexImp; // pointer to mutex implementation
37 
38  TMutex(const TMutex&); // not implemented
39  TMutex& operator=(const TMutex&); // not implemented
40 
41 public:
42  TMutex(Bool_t recursive = kFALSE);
43  virtual ~TMutex() { delete fMutexImp; }
44 
45  Int_t Lock();
46  Int_t TryLock();
47  Int_t UnLock();
48  Int_t CleanUp();
49 
50  // Compatibility with standard library
51  void lock() { TMutex::Lock(); }
52  void unlock() { TMutex::UnLock(); }
53 
54  TVirtualMutex *Factory(Bool_t recursive = kFALSE);
55 
56  ClassDef(TMutex,0) // Mutex lock class
57 };
58 
59 #endif
TThread
Definition: TThread.h:40
TMutex::CleanUp
Int_t CleanUp()
Clean up of mutex.
Definition: TMutex.cxx:76
TMutex::lock
void lock()
Definition: TMutex.h:51
TMutex::Lock
Int_t Lock()
Lock the mutex.
Definition: TMutex.cxx:46
TMutex::Factory
TVirtualMutex * Factory(Bool_t recursive=kFALSE)
Create mutex and return pointer to it.
Definition: TMutex.cxx:87
TMutex::unlock
void unlock()
Definition: TMutex.h:52
Int_t
int Int_t
Definition: RtypesCore.h:45
TVirtualMutex
This class implements a mutex interface.
Definition: TVirtualMutex.h:32
TCondition
Definition: TCondition.h:32
TMutex::UnLock
Int_t UnLock()
Unlock the mutex.
Definition: TMutex.cxx:68
TMutex::operator=
TMutex & operator=(const TMutex &)
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
bool
TMutex::fMutexImp
TMutexImp * fMutexImp
Definition: TMutex.h:36
TMutex::TryLock
Int_t TryLock()
Try to lock mutex.
Definition: TMutex.cxx:57
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TMutex::~TMutex
virtual ~TMutex()
Definition: TMutex.h:43
TVirtualMutex.h
TMutexImp.h
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TMutexImp
Definition: TMutexImp.h:27
TMutex::TMutex
TMutex(const TMutex &)
TMutex
Definition: TMutex.h:30