Logo ROOT   6.08/07
Reference Guide
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
virtual Int_t SetCancelDeferred()=0
virtual Int_t SetCancelOff()=0
virtual Int_t Run(TThread *th)=0
virtual Int_t SetCancelAsynchronous()=0
long Long_t
Definition: RtypesCore.h:50
virtual Int_t SetCancelOn()=0
#define free
Definition: civetweb.c:821
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:37
virtual Int_t CleanUpPop(void **main, Int_t exe)=0
int main(int argc, char **argv)