\"\" \"\" \"\"
Go up to Threads
Go forward to Definition
RISC-Linz logo

Representation

 

A thread is represented by the following components:

  1. A handle by which the thread can be referenced. Multiple handles may reference the same thread.
  2. The core thread which contains the information necessary for execution, in particular the executed function f and the function arguments ai.
  3. An optional thread stack which represents the space on which local variables are allocated during execution of the thread.
A core thread without stack is called lazy (or virtual). Before a lazy thread can be executed it has to be activated i.e. a stack has to be allocated on which the thread can operate. Since the thread stack is an order of magnitude larger than the core thread, threads are typically kept in a lazy state as long as possible in order to reduce the memory consumption of a program.  

Note: The thread representation is a special case of the representation of pointer objects .


Author: Wolfgang Schreiner
Last Modification: April 12, 1997