Threading Support Functions

Procedures for working with multithreaded applications.

Description
   These procedures allow for multithreaded programming. Threads and 
   conditional variables can be created and destroyed, and so-called 
   mutexes can be obtained to protect thread-sensitive data.

Threads
   Procedures that start and wait for threaded procedures.
Mutexes
   Procedures that deal with mutexes.
Conditional Varables
   Procedures that create and signal conditional variables.

Threads
   ThreadCall
      Starts a procedure with parameters in a separate thread of execution.
   ThreadCreate
      Starts a procedure in a separate thread of execution.
   ThreadWait
      Waits for a thread to finish and releases the thread handle.
   ThreadDetach
      Releases a thread handle without waiting for the thread to finish.
   ThreadSelf
      Returns the thread handle of the current thread.

Mutexes
   MutexCreate
      Creates a mutex.
   MutexLock
      Acquires a lock on a mutex.
   MutexUnlock
      Releases a lock on a mutex.
   MutexDestroy
      Destroys a mutex that is no longer needed.
Conditional Variables
   CondCreate
      Creates a conditional variable.
   CondWait
      Pauses execution of a threaded procedure.
   CondSignal
      Resumes execution of a threaded procedure waiting for a conditional.
   CondBroadcast
      Resumes all threaded procedures waiting for a conditional.
   CondDestroy
      Destroys a conditional variable that is no longer needed.

Platform Differences
   * These procedures are not supported in DOS.

