Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
29class TThread;
30
31class TThreadImp : public TObject {
32public:
34 virtual ~TThreadImp() { }
35
36 virtual Int_t Join(TThread *th, void **ret) = 0;
37 virtual Long_t SelfId() = 0;
38 virtual Int_t Run(TThread *th, const int affinity = -1) = 0;
39
40 virtual Int_t Kill(TThread *th) = 0;
41 virtual Int_t SetCancelOff() = 0;
42 virtual Int_t SetCancelOn() = 0;
44 virtual Int_t SetCancelDeferred() = 0;
45 virtual Int_t CancelPoint() = 0;
46 virtual Int_t CleanUpPush(void **main, void *free,void *arg) = 0;
47 virtual Int_t CleanUpPop(void **main, Int_t exe) = 0;
48 virtual Int_t CleanUp(void **main) = 0;
49
50 virtual Int_t Exit(void *ret) = 0;
51
52 ClassDefOverride(TThreadImp,0) // ThreadImp class
53};
54
55#endif
int main()
Definition Prototype.cxx:12
long Long_t
Definition RtypesCore.h:54
#define ClassDefOverride(name, id)
Definition Rtypes.h:341
#define free
Definition civetweb.c:1539
Mother of all ROOT objects.
Definition TObject.h:41
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:34
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 CleanUp(void **main)=0
virtual Int_t Run(TThread *th, const int affinity=-1)=0
<div class="legacybox"><h2>Legacy Code</h2> TThread is a legacy interface: there will be no bug fixes...
Definition TThread.h:40