<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<head>
    <name>About</name>
    <doc-version>$Date: 2003/05/04 06:40:16 $</doc-version>
    <author>Matt Albrecht</author>
</head>
<body>
Collection of utilities to help with thread and process management.
<UL>
    <definition term="BackgroundProcess">
    Class which allows for better interaction with a spawned
    Process. It forks the process's output streams to other
    streams.
    </definition>
    <definition term="IOThreadRunner">
    A thread which pulls data from an input stream and pushes it
    into an output stream.
    </definition>
    <definition term="LoopThread">
    Implements safe pause, resume, and stop for threads which loop
    over the same function endlessly. Allows for a sleep period
    between loop iterations.
    </definition>
    <definition term="QueueThread">
    Thread-safe implementation of pulling objects from a
    SynchQueue, and passing them to a listening object.
    </definition>
    <definition term="ThreadPool">
    A pool of QueueThread instances, which handles menial tasks
    such as growing the thread pool if the number of waiting
    objects is above a threshold number, up to a maximum number of
    threads, finding the thread with the fewest number of waiting
    objects, and optimization of determining which thread to pass
    events to.
    </definition>
</UL>
</body>
</document>

