ROOT  6.06/09
Reference Guide
TThreadFactory.h
Go to the documentation of this file.
1 // @(#)root/thread:$Id$
2 // Author: Fons Rademakers 01/07/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 
13 #ifndef ROOT_TThreadFactory
14 #define ROOT_TThreadFactory
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TThreadFactory //
19 // //
20 // This ABC is a factory for thread components. Depending on which //
21 // factory is active one gets either Posix or Win32 threads. //
22 // //
23 //////////////////////////////////////////////////////////////////////////
24 
25 #ifndef ROOT_TNamed
26 #include "TNamed.h"
27 #endif
28 
29 class TMutexImp;
30 class TConditionImp;
31 class TThreadImp;
32 class TThread;
33 
34 class TThreadFactory : public TNamed {
35 
36 public:
37  TThreadFactory(const char *name = "Unknown", const char *title = "Unknown Thread Factory");
38  virtual ~TThreadFactory() { }
39 
40  virtual TMutexImp *CreateMutexImp(Bool_t recursive) = 0;
42  virtual TThreadImp *CreateThreadImp() = 0;
43 
44  ClassDef(TThreadFactory,0) // Thread factory ABC
45 };
46 
48 
49 #endif
50 
51 
52 
TThreadFactory(const char *name="Unknown", const char *title="Unknown Thread Factory")
bool Bool_t
Definition: RtypesCore.h:59
R__EXTERN TThreadFactory * gThreadFactory
virtual TThreadImp * CreateThreadImp()=0
#define ClassDef(name, id)
Definition: Rtypes.h:254
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
virtual TMutexImp * CreateMutexImp(Bool_t recursive)=0
TMarker * m
Definition: textangle.C:8
virtual ~TThreadFactory()
virtual TConditionImp * CreateConditionImp(TMutexImp *m)=0
#define name(a, b)
Definition: linkTestLib0.cpp:5
#define R__EXTERN
Definition: DllImport.h:27