TThread This class implements threads. A thread is an execution environment much lighter than a process. A single process can have multiple threads. The actual work is done via the TThreadImp class (either TPosixThread or TWin32Thread).
virtual | ~TThread() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
static Int_t | CancelPoint() |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
static Int_t | CleanUp() |
static Int_t | CleanUpPop(Int_t exe = 0) |
static Int_t | CleanUpPush(void* free, void* arg = 0) |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | Delete(Option_t* option = "") |
static Int_t | Delete(TThread*& th) |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
static Int_t | Exists() |
static Int_t | Exit(void* ret = 0) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
Long_t | GetId() const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
TThread::EPriority | GetPriority() const |
TThread::EState | GetState() const |
static TThread* | GetThread(Long_t id) |
static TThread* | GetThread(const char* name) |
static Int_t | GetTime(ULong_t* absSec, ULong_t* absNanoSec) |
virtual const char* | TNamed::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
static void | Initialize() |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | TObject::IsFolder() const |
static Bool_t | IsInitialized() |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
Bool_t | TObject::IsZombie() const |
Long_t | Join(void** ret = 0) |
static Long_t | Join(Long_t id, void** ret = 0) |
Int_t | Kill() |
static Int_t | Kill(Long_t id) |
static Int_t | Kill(const char* name) |
static Int_t | Lock() |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
void | TObject::operator delete(void* ptr) |
void | TObject::operator delete(void* ptr, void* vp) |
void | TObject::operator delete[](void* ptr) |
void | TObject::operator delete[](void* ptr, void* vp) |
void* | TObject::operator new(size_t sz) |
void* | TObject::operator new(size_t sz, void* vp) |
void* | TObject::operator new[](size_t sz) |
void* | TObject::operator new[](size_t sz, void* vp) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
static void | Printf(const char* fmt) |
static void | Ps() |
static void | ps() |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
Int_t | Run(void* arg = 0) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
static TThread* | Self() |
static Long_t | SelfId() |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
static Int_t | SetCancelAsynchronous() |
static Int_t | SetCancelDeferred() |
static Int_t | SetCancelOff() |
static Int_t | SetCancelOn() |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | SetPriority(TThread::EPriority pri) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual Int_t | TNamed::Sizeof() const |
static Int_t | Sleep(ULong_t secs, ULong_t nanos = 0) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
static Int_t | TryLock() |
static void** | Tsd(void* dflt, Int_t k) |
TThread(Long_t id = 0) | |
TThread(TThread::VoidRtnFunc_t fn, void* arg = 0, TThread::EPriority pri = kNormalPriority) | |
TThread(TThread::VoidFunc_t fn, void* arg = 0, TThread::EPriority pri = kNormalPriority) | |
TThread(const char* thname, TThread::VoidRtnFunc_t fn, void* arg = 0, TThread::EPriority pri = kNormalPriority) | |
TThread(const char* thname, TThread::VoidFunc_t fn, void* arg = 0, TThread::EPriority pri = kNormalPriority) | |
static Int_t | UnLock() |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
static void | XAction() |
void | TObject::MakeZombie() |
static void | AfterCancel(TThread* th) |
void | Constructor() |
virtual void | DoError(Int_t level, const char* location, const char* fmt, va_list va) const |
void | ErrorHandler(int level, const char* location, const char* fmt, va_list ap) const |
static void* | Function(void* ptr) |
static void | Init() |
TThread& | operator=(const TThread&) |
void | SetComment(const char* txt = 0) |
TThread(const TThread&) | |
static Int_t | XARequest(const char* xact, Int_t nb, void** ar, Int_t* iret) |
static TObject::<anonymous> | TObject::kBitMask | |
static TObject::EStatusBits | TObject::kCanDelete | |
static TThread::EState | kCanceledState | |
static TThread::EState | kCancelingState | |
static TObject::EStatusBits | TObject::kCannotPick | |
static TThread::EState | kDeletingState | |
static TThread::EState | kFinishedState | |
static TObject::EStatusBits | TObject::kHasUUID | |
static TThread::EPriority | kHighPriority | |
static TObject::EStatusBits | TObject::kInvalidObject | |
static TThread::EState | kInvalidState | |
static TObject::<anonymous> | TObject::kIsOnHeap | |
static TObject::EStatusBits | TObject::kIsReferenced | |
static TThread::EPriority | kLowPriority | |
static TObject::EStatusBits | TObject::kMustCleanup | |
static TThread::EState | kNewState | |
static TObject::EStatusBits | TObject::kNoContextMenu | |
static TThread::EPriority | kNormalPriority | |
static TObject::<anonymous> | TObject::kNotDeleted | |
static TObject::EStatusBits | TObject::kObjInCanvas | |
static TObject::<anonymous> | TObject::kOverwrite | |
static TThread::EState | kRunningState | |
static TObject::<anonymous> | TObject::kSingleKey | |
static TThread::EState | kTerminatedState | |
static TObject::<anonymous> | TObject::kWriteDelete | |
static TObject::<anonymous> | TObject::kZombie |
TString | TNamed::fName | object identifier |
TString | TNamed::fTitle | object title |
void* | fClean | support of cleanup structure |
char | fComment[100] | thread specific state comment |
Bool_t | fDetached | kTRUE if thread is Detached |
TThread::VoidRtnFunc_t | fFcnRetn | void* start function of thread |
TThread::VoidFunc_t | fFcnVoid | void start function of thread |
Long_t | fHandle | Win32 thread handle |
TThread** | fHolder | pointer to holder of this (delete only) |
Long_t | fId | thread id |
Bool_t | fNamed | kTRUE if thread is Named |
TThread* | fNext | pointer to next thread |
TThread* | fPrev | pointer to prev thread |
TThread::EPriority | fPriority | thread priority |
TThread::EState | fState | thread state |
TThread::EState | fStateComing | coming thread state |
void* | fThreadArg | thread start function arguments |
void* | fTsd[24] | thread specific data container |
static TThread* | fgMain | pointer to chain of TThread's |
static Long_t | fgMainId | thread id of main thread |
static TMutex* | fgMainMutex | mutex to protect chain of threads |
static TThreadImp* | fgThreadImp | static pointer to thread implementation |
static char*volatile | fgXAct | Action name to do by main thread |
static TCondition* | fgXActCondi | condition for XAction |
static TMutex* | fgXActMutex | mutex to protect XAction |
static volatile Int_t | fgXAnb | size of array above |
static void**volatile | fgXArr | pointer to control array of void pointers for action |
static volatile Int_t | fgXArt | return XA flag |
Create a detached thread. Specify the function or static class method to be executed by the thread and a pointer to the argument structure. To start the thread call Run().
Create a detached thread with a name. Specify the function or static class method to be executed by the thread and a pointer to the argument structure. To start the thread call Run().
Initialize the Thread package. This initializes the TThread and ROOT global mutexes to make parts of ROOT thread safe/aware. This call is implicit in case a TThread is created.
Static method to delete the specified thread. Returns -1 in case the thread was running and has been killed. Returns 0 in case the thread has been Delete and Cleaned up. The th pointer is not valid anymore in that case.
Static method to kill the thread by id. Returns 0 on success, otherwise an error number will be returned.
Static method to kill thread by name. Returns 0 on success, otherwise an error number will be returned.
Static method to turn off thread cancellation. Returns 0 on success, otherwise an error number will be returned.
Static method to turn on thread cancellation. Returns 0 on success, otherwise an error number will be returned.
Static method to set the cancellation response type of the calling thread to asynchronous, i.e. cancel as soon as the cancellation request is received.
Static method to set the cancellation response type of the calling thread to deferred, i.e. cancel only at next cancellation point. Returns 0 on success, otherwise an error number will be returned.
Static method to set a cancellation point. Returns 0 on success, otherwise an error number will be returned.
Static method which pushes thread cleanup method on stack. Returns 0 in case of success and -1 in case of error.
Static method which pops thread cleanup method off stack. Returns 0 in case of success and -1 in case of error.
Static method to get the current time. Returns the number of seconds.
Static method which is called by the system thread function and which in turn calls the actual user function.
Static method providing a thread safe printf. Appends a newline.
Thread specific error handler function. It calls the user set error handler in the main thread.
Interface to ErrorHandler. User has to specify the class name as part of the location, just like for the global Info(), Warning() and Error() functions.
Static method used to allow commands to be executed by the main thread.
Static method called via the thread timer to execute in the main thread certain commands. This to avoid sophisticated locking and possible deadlocking.