Logo ROOT   6.21/01
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 #include "TObject.h"
28 #include "TThread.h"
29 
30 class TThreadImp : public TObject {
31 public:
32  TThreadImp() { }
33  virtual ~TThreadImp() { }
34 
35  virtual Int_t Join(TThread *th, void **ret) = 0;
36  virtual Long_t SelfId() = 0;
37  virtual Int_t Run(TThread *th) = 0;
38 
39  virtual Int_t Kill(TThread *th) = 0;
40  virtual Int_t SetCancelOff() = 0;
41  virtual Int_t SetCancelOn() = 0;
42  virtual Int_t SetCancelAsynchronous() = 0;
43  virtual Int_t SetCancelDeferred() = 0;
44  virtual Int_t CancelPoint() = 0;
45  virtual Int_t CleanUpPush(void **main, void *free,void *arg) = 0;
46  virtual Int_t CleanUpPop(void **main, Int_t exe) = 0;
47  virtual Int_t CleanUp(void **main) = 0;
48 
49  virtual Int_t Exit(void *ret) = 0;
50 
51  ClassDef(TThreadImp,0) // ThreadImp class
52 };
53 
54 #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:33
#define ClassDef(name, id)
Definition: Rtypes.h:326
virtual Int_t SetCancelDeferred()=0
int main(int argc, char **argv)
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:1539
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