Logo ROOT  
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
30class TThreadImp : public TObject {
31public:
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;
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
int Int_t
Definition: RtypesCore.h:41
long Long_t
Definition: RtypesCore.h:50
#define ClassDef(name, id)
Definition: Rtypes.h:326
#define free
Definition: civetweb.c:1539
Mother of all ROOT objects.
Definition: TObject.h:37
virtual Int_t Join(TThread *th, void **ret)=0
virtual Int_t SetCancelOff()=0
virtual Int_t Exit(void *ret)=0
virtual ~TThreadImp()
Definition: TThreadImp.h:33
virtual Int_t CleanUpPush(void **main, void *free, void *arg)=0
virtual Long_t SelfId()=0
virtual Int_t CancelPoint()=0
virtual Int_t SetCancelDeferred()=0
virtual Int_t Kill(TThread *th)=0
virtual Int_t CleanUpPop(void **main, Int_t exe)=0
virtual Int_t SetCancelAsynchronous()=0
virtual Int_t SetCancelOn()=0
virtual Int_t Run(TThread *th)=0
virtual Int_t CleanUp(void **main)=0
int main(int argc, char **argv)