Page principale | Liste des namespaces | Hiérarchie des classes | Liste des classes | Répertoires | Liste des fichiers | Membres de namespace | Membres de classe | Membres de fichier

Référence de la classe Thread

#include <thread.h>

Graphe de collaboration de Thread:

Collaboration graph
[légende]
Liste de tous les membres

Fonctions membres publiques

 Thread (char *debugName)
 ~Thread ()
void Fork (VoidFunctionPtr func, void *arg)
void Yield ()
void Sleep (bool finishing)
void Begin ()
void Finish ()
void CheckOverflow ()
void setStatus (ThreadStatus st)
char * getName ()
void Print ()
void SelfTest ()
void SaveUserState ()
void RestoreUserState ()

Attributs publics

AddrSpacespace

Fonctions membres privées

void StackAllocate (VoidFunctionPtr func, void *arg)

Attributs privés

int * stackTop
void * machineState [MachineStateSize]
int * stack
ThreadStatus status
char * name
int userRegisters [NumTotalRegs]

Description détaillée

Définition à la ligne 77 du fichier thread.h.


Documentation des contructeurs et destructeur

Thread::Thread char *  debugName  ) 
 

Définition à la ligne 36 du fichier thread.cc.

Références JUST_CREATED, machineState, MachineStateSize, name, NULL, space, stack, stackTop, et status.

Référencé par SelfTest().

Thread::~Thread  ) 
 

Définition à la ligne 62 du fichier thread.cc.

Références ASSERT, Kernel::currentThread, dbgThread, DeallocBoundedArray(), DEBUG, kernel, name, NULL, stack, et StackSize.

Voici le graphe d'appel pour cette fonction:


Documentation des fonctions membres

void Thread::Begin  ) 
 

Définition à la ligne 147 du fichier thread.cc.

Références ASSERT, Scheduler::CheckToBeDestroyed(), Kernel::currentThread, dbgThread, DEBUG, Kernel::interrupt, kernel, name, et Kernel::scheduler.

Référencé par ThreadBegin().

Voici le graphe d'appel pour cette fonction:

void Thread::CheckOverflow  ) 
 

Définition à la ligne 124 du fichier thread.cc.

Références ASSERT, NULL, stack, STACK_FENCEPOST, et StackSize.

Référencé par Scheduler::Run().

void Thread::Finish  ) 
 

Définition à la ligne 172 du fichier thread.cc.

Références ASSERT, Kernel::currentThread, dbgThread, DEBUG, Kernel::interrupt, kernel, name, Sleep(), et TRUE.

Référencé par ThreadFinish().

Voici le graphe d'appel pour cette fonction:

void Thread::Fork VoidFunctionPtr  func,
void *  arg
 

Définition à la ligne 92 du fichier thread.cc.

Références dbgThread, DEBUG, Kernel::interrupt, kernel, name, Scheduler::ReadyToRun(), Kernel::scheduler, et StackAllocate().

Référencé par SelfTest(), SynchList< T >::SelfTest(), et Semaphore::SelfTest().

Voici le graphe d'appel pour cette fonction:

char* Thread::getName  )  [inline]
 

Définition à la ligne 104 du fichier thread.h.

Références name.

Référencé par Scheduler::ReadyToRun(), et Scheduler::Run().

void Thread::Print  )  [inline]
 

Définition à la ligne 105 du fichier thread.h.

Références name.

Référencé par ThreadPrint().

void Thread::RestoreUserState  ) 
 

Définition à la ligne 392 du fichier thread.cc.

Références kernel, Kernel::machine, et userRegisters.

Référencé par Scheduler::Run().

void Thread::SaveUserState  ) 
 

Définition à la ligne 376 du fichier thread.cc.

Références kernel, Kernel::machine, et userRegisters.

Référencé par Scheduler::Run().

void Thread::SelfTest  ) 
 

Définition à la ligne 426 du fichier thread.cc.

Références Kernel::currentThread, dbgThread, DEBUG, Fork(), kernel, SimpleThread(), Thread(), et Yield().

Référencé par Kernel::ThreadSelfTest().

Voici le graphe d'appel pour cette fonction:

void Thread::setStatus ThreadStatus  st  )  [inline]
 

Définition à la ligne 103 du fichier thread.h.

Références status.

Référencé par Kernel::Initialize(), Scheduler::ReadyToRun(), et Scheduler::Run().

void Thread::Sleep bool  finishing  ) 
 

Définition à la ligne 240 du fichier thread.cc.

Références ASSERT, BLOCKED, Kernel::currentThread, dbgThread, DEBUG, Scheduler::FindNextToRun(), Kernel::interrupt, kernel, name, NULL, Scheduler::Run(), Kernel::scheduler, et status.

Référencé par Finish(), et Semaphore::P().

Voici le graphe d'appel pour cette fonction:

void Thread::StackAllocate VoidFunctionPtr  func,
void *  arg
[private]
 

Définition à la ligne 306 du fichier thread.cc.

Références AllocBoundedArray(), machineState, stack, STACK_FENCEPOST, StackSize, stackTop, ThreadBegin(), ThreadFinish(), et ThreadRoot().

Référencé par Fork().

Voici le graphe d'appel pour cette fonction:

void Thread::Yield  ) 
 

Définition à la ligne 202 du fichier thread.cc.

Références ASSERT, Kernel::currentThread, dbgThread, DEBUG, FALSE, Scheduler::FindNextToRun(), Kernel::interrupt, kernel, name, NULL, Scheduler::ReadyToRun(), Scheduler::Run(), et Kernel::scheduler.

Référencé par SelfTest(), et SimpleThread().

Voici le graphe d'appel pour cette fonction:


Documentation des données membres

void* Thread::machineState[MachineStateSize] [private]
 

Définition à la ligne 82 du fichier thread.h.

Référencé par StackAllocate(), et Thread().

char* Thread::name [private]
 

Définition à la ligne 115 du fichier thread.h.

Référencé par Begin(), Finish(), Fork(), getName(), Print(), Sleep(), Thread(), Yield(), et ~Thread().

AddrSpace* Thread::space
 

Définition à la ligne 131 du fichier thread.h.

Référencé par main(), Scheduler::Run(), et Thread().

int* Thread::stack [private]
 

Définition à la ligne 111 du fichier thread.h.

Référencé par CheckOverflow(), StackAllocate(), Thread(), et ~Thread().

int* Thread::stackTop [private]
 

Définition à la ligne 81 du fichier thread.h.

Référencé par StackAllocate(), et Thread().

ThreadStatus Thread::status [private]
 

Définition à la ligne 114 du fichier thread.h.

Référencé par setStatus(), Sleep(), et Thread().

int Thread::userRegisters[NumTotalRegs] [private]
 

Définition à la ligne 125 du fichier thread.h.

Référencé par RestoreUserState(), et SaveUserState().


La documentation de cette classe a été générée à partir des fichiers suivants:
Généré le Sun Jan 15 00:48:44 2006 pour Système NachOS : par  doxygen 1.4.4