Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files 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 #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