ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TThreadImp.h
Go to the documentation of this file.
1 // @(#)root/thread:$Id$
2 // Author: Victor Perev 10/08/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_TThreadImp
13 #define ROOT_TThreadImp
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TThreadImp //
19 // //
20 // This class implements threads. A thread is an execution environment //
21 // much lighter than a process. A single process can have multiple //
22 // threads. The actual work is done via the TThreadImp class (either //
23 // TPosixThread or TWin32Thread). //
24 // //
25 //////////////////////////////////////////////////////////////////////////
26 
27 #ifndef ROOT_TObject
28 #include "TObject.h"
29 #endif
30 #ifndef ROOT_TThread
31 #include "TThread.h"
32 #endif
33 
34 class TThreadImp : public TObject {
35 public:
36  TThreadImp() { }
37  virtual ~TThreadImp() { }
38 
39  virtual Int_t Join(TThread *th, void **ret) = 0;
40  virtual Long_t SelfId() = 0;
41  virtual Int_t Run(TThread *th) = 0;
42 
43  virtual Int_t Kill(TThread *th) = 0;
44  virtual Int_t SetCancelOff() = 0;
45  virtual Int_t SetCancelOn() = 0;
46  virtual Int_t SetCancelAsynchronous() = 0;
47  virtual Int_t SetCancelDeferred() = 0;
48  virtual Int_t CancelPoint() = 0;
49  virtual Int_t CleanUpPush(void **main, void *free,void *arg) = 0;
50  virtual Int_t CleanUpPop(void **main, Int_t exe) = 0;
51  virtual Int_t CleanUp(void **main) = 0;
52 
53  virtual Int_t Exit(void *ret) = 0;
54 
55  ClassDef(TThreadImp,0) // ThreadImp class
56 };
57 
58 #endif
virtual Int_t Join(TThread *th, void **ret)=0
virtual Long_t SelfId()=0
int Int_t
Definition: RtypesCore.h:41
virtual Int_t CleanUpPush(void **main, void *free, void *arg)=0
virtual Int_t CleanUp(void **main)=0
virtual ~TThreadImp()
Definition: TThreadImp.h:37
#define ClassDef(name, id)
Definition: Rtypes.h:254
TPaveText exe(6, 5.5, 12, 8)
virtual Int_t SetCancelDeferred()=0
virtual Int_t SetCancelOff()=0
tuple main
Definition: hsum.py:20
virtual Int_t Run(TThread *th)=0
virtual Int_t SetCancelAsynchronous()=0
tuple free
Definition: fildir.py:30
long Long_t
Definition: RtypesCore.h:50
virtual Int_t SetCancelOn()=0
virtual Int_t Exit(void *ret)=0
virtual Int_t CancelPoint()=0
virtual Int_t Kill(TThread *th)=0
Mother of all ROOT objects.
Definition: TObject.h:58
virtual Int_t CleanUpPop(void **main, Int_t exe)=0