| v2.10-0 (21000JUN2005) | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Thread Handler holds array of
Go4Thread Objects; each
Go4Thread handles one TThread and Mutex, Condition...
knows threadmanager instance
that owns the handler (that owns the
task connector which owns the thread handler,
respectively)
this threadmanager instance pointer is
given to each thread and runnable on
creation, thus each thread can
acces its manager methods by
threadmanager pointer
| Field Summary | |
private Bool_t | fbIsOperatingkTRUE, if threadhandler performs any action that requires gSystem support. |
private TObjArray* | fxArrayArray of Go4Threads |
private TIterator* | fxIteratorIterator for Thread Array |
private TMutex* | fxListMutexMutex protecting thread array |
protected TGo4ThreadManager* | fxManagerBacklink to threadmanager who owns this thread handler. |
private TMutex* | fxOperMutexMutex to protect IsOperating flag, flag is set kTRUE to indicate that AppControl timer must not block, since thread launching or canceling operation is performed by thread handler. |
| Fields inherited from class TNamed |
fName, fTitle |
| Constructor Summary | |
| TGo4ThreadHandler(const TGo4ThreadHandler& right) |
| TGo4ThreadHandler(const char * name, TGo4ThreadManager* parent) |
private | TGo4ThreadHandler() |
| Destructor Summary | |
virtual synchronized | ~TGo4ThreadHandler() |
| Method Summary | |
Bool_t | AddThread(TGo4Thread* gthr)Adds Reference to (externally created) thread to Thread List |
Bool_t | AllCreated()Returns true if all root threads in list are existing, i.e. there is a pid and a valid thread pointer for them in go4 thread |
Bool_t | AllRunning()Returns true if all threads in list are running, i.e. all workfunctions were started |
Bool_t | AllWaiting()Returns true if all threads in list are waiting, i.e. all workfunctions are in condition wait |
Bool_t | Cancel(const char * thname)Cancels the ROOT Thread specified by the Go4 Thread of name 'name'. |
Int_t | CancelAll()Cancel all Threads in the thread list. |
Bool_t | Create(const char * thname)Launch the ROOT Thread specified by the Go4 Thread of name 'name'. |
Int_t | CreateAll()Launch all Threads in the thread list. |
Int_t | DumpThreads(Int_t mode)dumps thread process information to logging output i.e. file or anything |
Int_t | GetEntries()Number of threads in list |
TGo4Thread* | GetThread(const char * name)Access to Go4Thread by name. |
const Bool_t | IsOperating()Returns kTRUE if threadhandler performs any action that requires gSystem support. |
Bool_t | NewThread(const char * name, TGo4Runnable* runnable)Creates new internal Go4 Thread with name and adds it to the List External runnable is passed to specify the threaded actions |
Bool_t | ReCreate(const char * thname)ReCreate (Cancel and Create) all Threads in the thread list. |
Int_t | ReCreateAll()Recreate all Threads in the thread list. |
Bool_t | RemoveThread(const char * name)Remove thread by name from Thread List |
Bool_t | Start(const char * thname)Starts work function of the Go4 Thread of name 'name'. |
Int_t | StartAll()Start work function of all Threads in the thread list. |
Bool_t | Stop(const char * thname)Stops work function of the Go4 Thread of name 'name'. |
Int_t | StopAll()Start work function of all Threads in the thread list. |
| Methods inherited from class TNamed |
operator=, Clear, Clone, Compare, Copy, FillBuffer, GetName, GetTitle, Hash, IsSortable, SetName, SetNameTitle, SetTitle, ls, Print, Sizeof, Class, Class_Name, Class_Version, Dictionary, IsA, ShowMembers, Streamer, StreamerNVirtual, DeclFileName, ImplFileLine, ImplFileName, DeclFileLine |
| Field Detail |
private Bool_t fbIsOperating
private TObjArray* fxArray
private TIterator* fxIterator
private TMutex* fxListMutex
protected TGo4ThreadManager* fxManager
private TMutex* fxOperMutex
| Constructor Detail |
public TGo4ThreadHandler(const TGo4ThreadHandler& right)
public TGo4ThreadHandler(const char * name, TGo4ThreadManager* parent)
private TGo4ThreadHandler()
| Method Detail |
public virtual synchronized ~TGo4ThreadHandler()
| Method Detail |
public Bool_t AddThread(TGo4Thread* gthr)
public Bool_t AllCreated()
public Bool_t AllRunning()
public Bool_t AllWaiting()
public Bool_t Cancel(const char * thname)
public Int_t CancelAll()
public Bool_t Create(const char * thname)
public Int_t CreateAll()
public Int_t DumpThreads(Int_t mode)
public Int_t GetEntries()
public TGo4Thread* GetThread(const char * name)
public const Bool_t IsOperating()
public Bool_t NewThread(const char * name, TGo4Runnable* runnable)
public Bool_t ReCreate(const char * thname)
public Int_t ReCreateAll()
public Bool_t RemoveThread(const char * name)
public Bool_t Start(const char * thname)
public Int_t StartAll()
public Bool_t Stop(const char * thname)
public Int_t StopAll()
| Association Links |
to Class TMutex
to Class TIterator
to Class TObjArray
to Class TMutex
| J.Adamczewski, M.Al-Turany, D.Bertini, H.G.Essel, S.Linev | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||