multithreaded

from The Free On-line Dictionary of Computing (8 July 2008)
multithreading
multithreaded

   <parallel> Sharing a single {CPU} between multiple tasks (or
   "threads") in a way designed to minimise the time required to
   switch threads.  This is accomplished by sharing as much as
   possible of the program execution environment between the
   different threads so that very little state needs to be saved
   and restored when changing thread.

   Multithreading differs from {multitasking} in that threads
   share more of their environment with each other than do tasks
   under multitasking.  Threads may be distinguished only by the
   value of their {program counters} and {stack pointers} while
   sharing a single {address space} and set of {global
   variables}.  There is thus very little protection of one
   thread from another, in contrast to multitasking.

   Multithreading can thus be used for very fine-grain
   multitasking, at the level of a few instructions, and so can
   hide {latency} by keeping the processor busy after one thread
   issues a long-latency instruction on which subsequent
   instructions in that thread depend.

   A {light-weight process} is somewhere between a thread and a
   full process.

   {TL0} is an example of a threaded machine language.
   {Dataflow} computation (E.g. {Id} and {SISAL}) is an extreme
   form of multithreading.

   (1997-12-23)
    

[email protected]