library: libCore #include "TVirtualMutex.h"

# TVirtualMutex

class description - source file - inheritance tree (.pdf)

## class TVirtualMutex : public TObject

| Inheritance Chart:
`TObject`
| <- | `TVirtualMutex` |
<- |
`TMutex` |

This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.

        public:

                         virtual ~TVirtualMutex()
                           Int_t Acquire()
                  static TClass* Class()
                   virtual Int_t CleanUp()
          virtual TVirtualMutex* Factory(Bool_t = kFALSE)
                 virtual TClass* IsA() const
                   virtual Int_t Lock()
                  TVirtualMutex& operator=(const TVirtualMutex&)
                           Int_t Release()
                    virtual void ShowMembers(TMemberInspector& insp, char* parent)
                    virtual void Streamer(TBuffer& b)
                            void StreamerNVirtual(TBuffer& b)
                   virtual Int_t TryLock()
                   virtual Int_t UnLock()

### Data Members

## Class Description

     TVirtualMutex

     This class implements a mutex interface. The actual work is done via
     TMutex which is available as soon as the thread library is loaded.

     and

     TLockGuard

     This class provides mutex resource management in a guaranteed and
     exception safe way. Use like this:
     {
        TLockGuard guard(mutex);
        ... // do something
     }
     when guard goes out of scope the mutex is unlocked in the TLockGuard
     destructor. The exception mechanism takes care of calling the dtors
     of local objects so it is exception safe.

### Inline Functions

                      void ~TVirtualMutex()
                     Int_t Lock()
                     Int_t TryLock()
                     Int_t UnLock()
                     Int_t CleanUp()
                     Int_t Acquire()
                     Int_t Release()
            TVirtualMutex* Factory(Bool_t = kFALSE)
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
            TVirtualMutex& operator=(const TVirtualMutex&)

Author: Fons Rademakers 14/02/2002
Last update: root/base:$Name: $:$Id: TVirtualMutex.cxx,v 1.7 2005/06/23 20:51:14 rdm Exp $
Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *