library: libThread
#include "TSemaphore.h"

TSemaphore


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

class TSemaphore : public TObject

Inheritance Chart:
TObject
<-
TSemaphore

    public:
TSemaphore(UInt_t initial = 1) TSemaphore(const TSemaphore&) virtual ~TSemaphore() static TClass* Class() virtual TClass* IsA() const TSemaphore& operator=(const TSemaphore&) Int_t Post() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Int_t TryWait() Int_t Wait()

Data Members

    private:
TMutex fMutex semaphare mutex TCondition fCond semaphore condition variable Int_t fValue counter

Class Description

                                                                      
 TSemaphore                                                           
                                                                      
 This class implements a counting semaphore. Use a semaphore          
 to synchronize threads.                                              
                                                                      


TSemaphore(UInt_t initial) : fCond(&fMutex)
 Create counting semaphore.

Int_t Wait()
 If semaphore value is > 0 then decrement it and carry on. If it's
 already 0 then block.

Int_t TryWait()
 If semaphore value is > 0 then decrement it and return 0. If it's
 already 0 then return 1.

Int_t Post()
 If any threads are blocked in Wait(), wake one of them up. Otherwise
 increment the value of the semaphore.



Inline Functions


               void ~TSemaphore()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
         TSemaphore TSemaphore(const TSemaphore&)
        TSemaphore& operator=(const TSemaphore&)


Author: Fons Rademakers 02/07/97
Last update: root/thread:$Name: $:$Id: TSemaphore.cxx,v 1.2 2004/12/10 12:13:33 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.